kostya / eye-http Goto Github PK
View Code? Open in Web Editor NEWHttp interface for the Eye gem
License: MIT License
Http interface for the Eye gem
License: MIT License
Using rbenv and chef, eye-http can't be found when trying to load .eye files it would seem.
require 'eye-http'
def thin(proxy, port)
name = "thin.#{port}"
opts = ["-l log/development-thin.log", "-p #{port}", "-P /opt/neuronui/tmp/pids/#{name}.pid", "-d", "-t 60", "-e development", "-c /opt/neuronui", "-a 127.0.0.1"]
proxy.process(name) do
pid_file "/opt/neuronui/tmp/pids/#{name}.pid"
start_command "#{BUNDLE} exec thin start #{opts * ' '}"
stop_command "#{BUNDLE} exec thin stop #{opts * ' '}"
restart_command "#{BUNDLE} exec thin restart #{opts * ' '}"
stop_signals [:QUIT, 2.seconds, :TERM, 1.seconds, :KILL]
stdall "thin.stdall.log"
end
end
RUBY = 'ruby'
BUNDLE = 'bundle'
Eye.config do
http :enable => true, :host => "127.0.0.1", :port => 6666
logger "/tmp/eye.log"
end
Eye.app 'thin-farm' do
working_dir "/opt/neuronui"
stop_on_delete true
trigger :flapping, :times => 10, :within => 1.minute
check :memory, :below => 5120.megabytes, :every => 30.seconds, :times => 5
start_timeout 30.seconds
group :web do
chain :action => :restart, :grace => 5.seconds
chain :action => :start, :grace => 0.2.seconds
chain :action => :stop, :grace => 5.seconds
0.upto(16) do |port|
port = 3000+port
thin self, port
end
end
end
Mostly just an incredibly poorly modified example, but I wanted to add http monitoring, but when I try and load the eye
[root@ip-10-51-154-219 root]# eye load /etc/eye/root/discover.eye
cannot load such file -- eye-http
/opt/rbenv/versions/2.1.0/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/opt/rbenv/versions/2.1.0/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/etc/eye/root/discover.eye:1:in `<top (required)>'
Is this a bug or am I doing something wrong? Chef installs the eye and eye-http gems for me.
I very much have the eye and eye-http installed
[root@ip-10-51-154-219 root]# cd /opt/rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/
activemodel-3.2.18/ bundler-1.6.3/ eventmachine-1.0.3/ kgio-2.9.2/ nio4r-1.0.0/ rake-10.1.0/ rerun-0.8.2/ sinatra-1.4.5/ tilt-1.4.1/
activesupport-3.2.18/ celluloid-0.15.2/ eye-0.6/ listen-1.0.3/ nokogiri-1.6.2.1/ rake-10.3.2/ rest-client-1.6.7/ sinatra-contrib-1.4.2/ timers-1.1.0/
addressable-2.3.6/ celluloid-io-0.15.0/ eye-http-0.6/ mime-types-2.3/ origin-1.1.0/ rb-fsevent-0.9.4/ rspec-2.14.1/ slim-2.0.2/ typhoeus-0.6.8/
awrence-0.1.0/ crack-0.4.2/ factory_girl-4.4.0/ mini_portile-0.6.0/ plissken-0.1.0/ rb-inotify-0.9.5/ rspec-core-2.14.8/ state_machine-1.2.0/ tzinfo-0.3.39/
aws-sdk-1.42.0/ cuba-3.1.1/ ffi-1.9.3/ mongoid-3.1.6/ rack-1.5.2/ rb-kqueue-0.2.3/ rspec-expectations-2.14.5/ temple-0.6.7/ unicorn-4.8.3/
backports-3.6.0/ daemons-1.1.9/ http-0.6.1/ mongoid-rspec-1.10.0/ rack-protection-1.5.3/ rdoc-4.1.0/ rspec-mocks-2.14.6/ test-unit-2.1.0.0/ webmock-1.17.4/
bcrypt-3.1.7/ diff-lcs-1.2.5/ http_parser.rb-0.6.0/ moped-1.5.2/ rack-test-0.6.2/ reel-0.5.0/ safe_yaml-1.0.3/ thin-1.6.1/ websocket_parser-0.1.6/
builder-3.0.4/ ethon-0.7.0/ i18n-0.6.9/ multi_json-1.10.1/ raindrops-0.13.0/ reel-rack-0.2.0/ sigar-0.7.2/ thor-0.19.1/
/usr/local/lib/ruby/site_ruby/2.7/rubygems/package.rb:509: warning: Using the last argument as keyword parameters is deprecated
Building native extensions. This could take a while...
ERROR: Error installing eye:
ERROR: Failed to build gem native extension.
current directory: /usr/local/lib/ruby/gems/2.7/gems/kostya-sigar-2.0.8/bindings/ruby
/usr/local/bin/ruby27 -I /usr/local/lib/ruby/site_ruby/2.7 -r ./siteconf20210421-89413-sf3bob.rb extconf.rb
Ruby platform=amd64-freebsd13
checking for -lkvm... yes
rbsigar_generated.rx needs update
generating rbsigar_generated.rx
fatal: not a git repository (or any of the parent directories): .git
../../src/sigar_ptql.c -> sigar_ptql.c
../../src/sigar_getline.c -> sigar_getline.c
../../src/sigar_format.c -> sigar_format.c
../../src/sigar_fileinfo.c -> sigar_fileinfo.c
../../src/sigar_signal.c -> sigar_signal.c
../../src/sigar_util.c -> sigar_util.c
../../src/sigar.c -> sigar.c
../../src/sigar_cache.c -> sigar_cache.c
../../src/os/darwin/darwin_sigar.c -> darwin_sigar.c
creating Makefile
current directory: /usr/local/lib/ruby/gems/2.7/gems/kostya-sigar-2.0.8/bindings/ruby
make "DESTDIR=" clean
current directory: /usr/local/lib/ruby/gems/2.7/gems/kostya-sigar-2.0.8/bindings/ruby
make "DESTDIR="
compiling darwin_sigar.c
darwin_sigar.c:1968:27: error: no member named 'fd_lastfile' in 'struct filedesc'
procfd->total = filed.fd_lastfile;
~~~~~ ^
1 error generated.
*** Error code 1
Stop.
make: stopped in /usr/local/lib/ruby/gems/2.7/gems/kostya-sigar-2.0.8/bindings/ruby
make failed, exit code 1
Gem files will remain installed in /usr/local/lib/ruby/gems/2.7/gems/kostya-sigar-2.0.8 for inspection.
Results logged to /usr/local/lib/ruby/gems/2.7/extensions/amd64-freebsd-13/2.7/kostya-sigar-2.0.8/gem_make.out
I have found some solution that you may use to solve the error.
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=248460
Same as eye gem. eye-http also cannot be installed in freebsd 12 because of sigar.
[system@dnsvdnsnodenl01 ~]$ gem install eye-http
Building native extensions. This could take a while...
ERROR: Error installing eye-http:
ERROR: Failed to build gem native extension.
current directory: /usr/home/system/.rvm/gems/ruby-2.5.1/gems/kostya-sigar-2.0.5/bindings/ruby
/usr/home/system/.rvm/rubies/ruby-2.5.1/bin/ruby -r ./siteconf20190117-15315-za9l6m.rb extconf.rb
Ruby platform=x86_64-freebsd12.0
checking for -lkvm... yes
rbsigar_generated.rx needs update
generating rbsigar_generated.rx
../../src/sigar_getline.c -> sigar_getline.c
../../src/sigar_format.c -> sigar_format.c
../../src/sigar_util.c -> sigar_util.c
../../src/sigar_cache.c -> sigar_cache.c
../../src/sigar_ptql.c -> sigar_ptql.c
../../src/sigar_fileinfo.c -> sigar_fileinfo.c
../../src/sigar_signal.c -> sigar_signal.c
../../src/sigar.c -> sigar.c
../../src/os/darwin/darwin_sigar.c -> darwin_sigar.c
creating Makefile
current directory: /usr/home/system/.rvm/gems/ruby-2.5.1/gems/kostya-sigar-2.0.5/bindings/ruby
make "DESTDIR=" clean
current directory: /usr/home/system/.rvm/gems/ruby-2.5.1/gems/kostya-sigar-2.0.5/bindings/ruby
make "DESTDIR="
compiling darwin_sigar.c
darwin_sigar.c:299:16: warning: returning 'const char [37]' from a function with result type 'char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
return "Failed to open /dev/kmem for reading";
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
darwin_sigar.c:301:16: warning: returning 'const char [32]' from a function with result type 'char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
return "/proc filesystem is not mounted";
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
darwin_sigar.c:345:48: warning: declaration of 'struct vmmeter' will not be visible outside of this function [-Wvisibility]
static int sigar_vmstat(sigar_t *sigar, struct vmmeter *vmstat)
^
darwin_sigar.c:350:41: error: invalid application of 'sizeof' to an incomplete type 'struct vmmeter'
status = kread(sigar, vmstat, sizeof(*vmstat),
^~~~~~~~~
darwin_sigar.c:345:48: note: forward declaration of 'struct vmmeter'
static int sigar_vmstat(sigar_t *sigar, struct vmmeter vmstat)
^
darwin_sigar.c:357:5: error: invalid application of 'sizeof' to an incomplete type 'struct vmmeter'
SIGAR_ZERO(vmstat);
^~~~~~~~~~~~~~~~~~
../../include/sigar_private.h:95:27: note: expanded from macro 'SIGAR_ZERO'
memset(s, '\0', sizeof((s)))
^~~~~~
darwin_sigar.c:345:48: note: forward declaration of 'struct vmmeter'
static int sigar_vmstat(sigar_t *sigar, struct vmmeter *vmstat)
^
darwin_sigar.c:365:5: error: incomplete definition of type 'struct vmmeter'
GET_VM_STATS(sys, v_swtch, 0);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
darwin_sigar.c:362:63: note: expanded from macro 'GET_VM_STATS'
if (used) sysctlbyname("vm.stats." #cat "." #name, &vmstat->name, &size, NULL, 0)
~~~~~~^
darwin_sigar.c:345:48: note: forward declaration of 'struct vmmeter'
static int sigar_vmstat(sigar_t *sigar, struct vmmeter *vmstat)
^
darwin_sigar.c:366:5: error: incomplete definition of type 'struct vmmeter'
GET_VM_STATS(sys, v_trap, 0);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
darwin_sigar.c:362:63: note: expanded from macro 'GET_VM_STATS'
if (used) sysctlbyname("vm.stats." #cat "." #name, &vmstat->name, &size, NULL, 0)
~~~~~~^
darwin_sigar.c:345:48: note: forward declaration of 'struct vmmeter'
static int sigar_vmstat(sigar_t *sigar, struct vmmeter *vmstat)
^
darwin_sigar.c:367:5: error: incomplete definition of type 'struct vmmeter'
GET_VM_STATS(sys, v_syscall, 0);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
darwin_sigar.c:362:63: note: expanded from macro 'GET_VM_STATS'
if (used) sysctlbyname("vm.stats." #cat "." #name, &vmstat->name, &size, NULL, 0)
~~~~~~^
darwin_sigar.c:345:48: note: forward declaration of 'struct vmmeter'
static int sigar_vmstat(sigar_t *sigar, struct vmmeter *vmstat)
^
darwin_sigar.c:368:5: error: incomplete definition of type 'struct vmmeter'
GET_VM_STATS(sys, v_intr, 0);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
darwin_sigar.c:362:63: note: expanded from macro 'GET_VM_STATS'
if (used) sysctlbyname("vm.stats." #cat "." #name, &vmstat->name, &size, NULL, 0)
~~~~~~^
darwin_sigar.c:345:48: note: forward declaration of 'struct vmmeter'
static int sigar_vmstat(sigar_t *sigar, struct vmmeter *vmstat)
^
darwin_sigar.c:369:5: error: incomplete definition of type 'struct vmmeter'
GET_VM_STATS(sys, v_soft, 0);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
darwin_sigar.c:362:63: note: expanded from macro 'GET_VM_STATS'
if (used) sysctlbyname("vm.stats." #cat "." #name, &vmstat->name, &size, NULL, 0)
~~~~~~^
darwin_sigar.c:345:48: note: forward declaration of 'struct vmmeter'
static int sigar_vmstat(sigar_t *sigar, struct vmmeter *vmstat)
^
darwin_sigar.c:372:5: error: incomplete definition of type 'struct vmmeter'
GET_VM_STATS(vm, v_vm_faults, 0);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
darwin_sigar.c:362:63: note: expanded from macro 'GET_VM_STATS'
if (used) sysctlbyname("vm.stats." #cat "." #name, &vmstat->name, &size, NULL, 0)
~~~~~~^
darwin_sigar.c:345:48: note: forward declaration of 'struct vmmeter'
static int sigar_vmstat(sigar_t *sigar, struct vmmeter *vmstat)
^
darwin_sigar.c:373:5: error: incomplete definition of type 'struct vmmeter'
GET_VM_STATS(vm, v_cow_faults, 0);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
darwin_sigar.c:362:63: note: expanded from macro 'GET_VM_STATS'
if (used) sysctlbyname("vm.stats." #cat "." #name, &vmstat->name, &size, NULL, 0)
~~~~~~^
darwin_sigar.c:345:48: note: forward declaration of 'struct vmmeter'
static int sigar_vmstat(sigar_t *sigar, struct vmmeter *vmstat)
^
darwin_sigar.c:374:5: error: incomplete definition of type 'struct vmmeter'
GET_VM_STATS(vm, v_cow_optim, 0);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
darwin_sigar.c:362:63: note: expanded from macro 'GET_VM_STATS'
if (used) sysctlbyname("vm.stats." #cat "." #name, &vmstat->name, &size, NULL, 0)
~~~~~~^
darwin_sigar.c:345:48: note: forward declaration of 'struct vmmeter'
static int sigar_vmstat(sigar_t *sigar, struct vmmeter *vmstat)
^
darwin_sigar.c:375:5: error: incomplete definition of type 'struct vmmeter'
GET_VM_STATS(vm, v_zfod, 0);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
darwin_sigar.c:362:63: note: expanded from macro 'GET_VM_STATS'
if (used) sysctlbyname("vm.stats." #cat "." #name, &vmstat->name, &size, NULL, 0)
~~~~~~^
darwin_sigar.c:345:48: note: forward declaration of 'struct vmmeter'
static int sigar_vmstat(sigar_t *sigar, struct vmmeter *vmstat)
^
darwin_sigar.c:376:5: error: incomplete definition of type 'struct vmmeter'
GET_VM_STATS(vm, v_ozfod, 0);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
darwin_sigar.c:362:63: note: expanded from macro 'GET_VM_STATS'
if (used) sysctlbyname("vm.stats." #cat "." #name, &vmstat->name, &size, NULL, 0)
~~~~~~^
darwin_sigar.c:345:48: note: forward declaration of 'struct vmmeter'
static int sigar_vmstat(sigar_t *sigar, struct vmmeter *vmstat)
^
darwin_sigar.c:377:5: error: incomplete definition of type 'struct vmmeter'
GET_VM_STATS(vm, v_swapin, 1);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
darwin_sigar.c:362:63: note: expanded from macro 'GET_VM_STATS'
if (used) sysctlbyname("vm.stats." #cat "." #name, &vmstat->name, &size, NULL, 0)
~~~~~~^
darwin_sigar.c:345:48: note: forward declaration of 'struct vmmeter'
static int sigar_vmstat(sigar_t *sigar, struct vmmeter *vmstat)
^
darwin_sigar.c:378:5: error: incomplete definition of type 'struct vmmeter'
GET_VM_STATS(vm, v_swapout, 1);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
darwin_sigar.c:362:63: note: expanded from macro 'GET_VM_STATS'
if (used) sysctlbyname("vm.stats." #cat "." #name, &vmstat->name, &size, NULL, 0)
~~~~~~^
darwin_sigar.c:345:48: note: forward declaration of 'struct vmmeter'
static int sigar_vmstat(sigar_t *sigar, struct vmmeter *vmstat)
^
darwin_sigar.c:379:5: error: incomplete definition of type 'struct vmmeter'
GET_VM_STATS(vm, v_swappgsin, 0);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
darwin_sigar.c:362:63: note: expanded from macro 'GET_VM_STATS'
if (used) sysctlbyname("vm.stats." #cat "." #name, &vmstat->name, &size, NULL, 0)
~~~~~~^
darwin_sigar.c:345:48: note: forward declaration of 'struct vmmeter'
static int sigar_vmstat(sigar_t *sigar, struct vmmeter *vmstat)
^
darwin_sigar.c:380:5: error: incomplete definition of type 'struct vmmeter'
GET_VM_STATS(vm, v_swappgsout, 0);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
darwin_sigar.c:362:63: note: expanded from macro 'GET_VM_STATS'
if (used) sysctlbyname("vm.stats." #cat "." #name, &vmstat->name, &size, NULL, 0)
~~~~~~^
darwin_sigar.c:345:48: note: forward declaration of 'struct vmmeter'
static int sigar_vmstat(sigar_t *sigar, struct vmmeter *vmstat)
^
darwin_sigar.c:381:5: error: incomplete definition of type 'struct vmmeter'
GET_VM_STATS(vm, v_vnodein, 1);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
darwin_sigar.c:362:63: note: expanded from macro 'GET_VM_STATS'
if (used) sysctlbyname("vm.stats." #cat "." #name, &vmstat->name, &size, NULL, 0)
~~~~~~^
darwin_sigar.c:345:48: note: forward declaration of 'struct vmmeter'
static int sigar_vmstat(sigar_t *sigar, struct vmmeter *vmstat)
^
darwin_sigar.c:382:5: error: incomplete definition of type 'struct vmmeter'
GET_VM_STATS(vm, v_vnodeout, 1);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
darwin_sigar.c:362:63: note: expanded from macro 'GET_VM_STATS'
if (used) sysctlbyname("vm.stats." #cat "." #name, &vmstat->name, &size, NULL, 0)
~~~~~~^
darwin_sigar.c:345:48: note: forward declaration of 'struct vmmeter'
static int sigar_vmstat(sigar_t *sigar, struct vmmeter *vmstat)
^
darwin_sigar.c:383:5: error: incomplete definition of type 'struct vmmeter'
GET_VM_STATS(vm, v_vnodepgsin, 0);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
darwin_sigar.c:362:63: note: expanded from macro 'GET_VM_STATS'
if (used) sysctlbyname("vm.stats." #cat "." #name, &vmstat->name, &size, NULL, 0)
~~~~~~^
darwin_sigar.c:345:48: note: forward declaration of 'struct vmmeter'
static int sigar_vmstat(sigar_t *sigar, struct vmmeter *vmstat)
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
3 warnings and 20 errors generated.
*** Error code 1
Stop.
make: stopped in /usr/home/system/.rvm/gems/ruby-2.5.1/gems/kostya-sigar-2.0.5/bindings/ruby
make failed, exit code 1
Gem files will remain installed in /home/system/.rvm/gems/ruby-2.5.1/gems/kostya-sigar-2.0.5 for inspection.
Results logged to /home/system/.rvm/gems/ruby-2.5.1/extensions/x86_64-freebsd-12/2.5.0/kostya-sigar-2.0.5/gem_make.out
What about authentication? Do you plan to add this or maybe have a recipe for adding this feature?
you guys are great!
I see master has a new version higher than what rubygems.org has. Is this ready for a release? does it work with eye 0.10.0?
Asset precompilation doesn't seem to work with Rails 4.1.4 (other versions untested) when eye-http is included. To replicate, create a new Rails project:
Mordor tmp > rails --version
Rails 4.1.4
Mordor tmp > rails new eye-test
create
...
run bundle install
...
Your bundle is complete!
Use `bundle show [gemname]` to see where a bundled gem is installed.
run bundle exec spring binstub --all
* bin/rake: spring inserted
* bin/rails: spring inserted
Verify that asset compilation is working:
Mordor eye-test > bundle exec rake assets:precompile
I, [2014-08-13T12:56:33.065891 #2240] INFO -- : Writing /private/tmp/eye-test/public/assets/application-8300e97aaa7c4d0192301b7218164e7a.js
I, [2014-08-13T12:56:33.095971 #2240] INFO -- : Writing /private/tmp/eye-test/public/assets/application-f4620e0ff93a2325f67e2da06f2f5791.css
Adding eye
and eye-http
to the project and attempting compilation again will fail:
Mordor eye-test > echo "gem 'eye'; gem 'eye-http'" >> Gemfile
Mordor eye-test > bundle | grep eye
Using eye 0.6.2
Using eye-http 0.6.2
Mordor eye-test > bundle exec rake assets:precompile
rake aborted!
ArgumentError: wrong number of arguments (0 for 1)
/private/tmp/eye-test/config/environment.rb:5:in `<top (required)>'
Tasks: TOP => environment
(See full trace by running task with --trace)
And here's the trace:
Mordor eye-test > bundle exec rake assets:precompile --trace
** Invoke assets:precompile (first_time)
** Invoke assets:environment (first_time)
** Execute assets:environment
** Invoke environment (first_time)
** Execute environment
rake aborted!
ArgumentError: wrong number of arguments (0 for 1)
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/eye-0.6.2/lib/eye/logger.rb:32:in `block (2 levels) in <module:ObjectExt>'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/sprockets-rails-2.1.3/lib/sprockets/railtie.rb:90:in `block (2 levels) in <class:Railtie>'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/lazy_load_hooks.rb:38:in `instance_eval'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/lazy_load_hooks.rb:38:in `execute_hook'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/lazy_load_hooks.rb:28:in `block in on_load'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/lazy_load_hooks.rb:27:in `each'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/lazy_load_hooks.rb:27:in `on_load'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/sprockets-rails-2.1.3/lib/sprockets/railtie.rb:86:in `block in <class:Railtie>'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/lazy_load_hooks.rb:36:in `call'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/lazy_load_hooks.rb:36:in `execute_hook'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/lazy_load_hooks.rb:45:in `block in run_load_hooks'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/lazy_load_hooks.rb:44:in `each'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/lazy_load_hooks.rb:44:in `run_load_hooks'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/railties-4.1.4/lib/rails/application/finisher.rb:64:in `block in <module:Finisher>'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/railties-4.1.4/lib/rails/initializable.rb:30:in `instance_exec'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/railties-4.1.4/lib/rails/initializable.rb:30:in `run'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/railties-4.1.4/lib/rails/initializable.rb:55:in `block in run_initializers'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/2.1.0/tsort.rb:226:in `block in tsort_each'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/2.1.0/tsort.rb:348:in `block (2 levels) in each_strongly_connected_component'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/2.1.0/tsort.rb:427:in `each_strongly_connected_component_from'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/2.1.0/tsort.rb:347:in `block in each_strongly_connected_component'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/2.1.0/tsort.rb:345:in `each'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/2.1.0/tsort.rb:345:in `call'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/2.1.0/tsort.rb:345:in `each_strongly_connected_component'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/2.1.0/tsort.rb:224:in `tsort_each'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/2.1.0/tsort.rb:205:in `tsort_each'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/railties-4.1.4/lib/rails/initializable.rb:54:in `run_initializers'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/railties-4.1.4/lib/rails/application.rb:300:in `initialize!'
/private/tmp/eye-test/config/environment.rb:5:in `<top (required)>'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247:in `require'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247:in `block in require'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:232:in `load_dependency'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247:in `require'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/railties-4.1.4/lib/rails/application.rb:276:in `require_environment!'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/railties-4.1.4/lib/rails/application.rb:379:in `block in run_tasks_blocks'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:240:in `call'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:240:in `block in execute'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:235:in `each'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:235:in `execute'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:179:in `block in invoke_with_call_chain'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/2.1.0/monitor.rb:211:in `mon_synchronize'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:172:in `invoke_with_call_chain'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:165:in `invoke'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/sprockets-rails-2.1.3/lib/sprockets/rails/task.rb:55:in `block (2 levels) in define'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:240:in `call'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:240:in `block in execute'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:235:in `each'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:235:in `execute'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:179:in `block in invoke_with_call_chain'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/2.1.0/monitor.rb:211:in `mon_synchronize'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:172:in `invoke_with_call_chain'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:201:in `block in invoke_prerequisites'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:199:in `each'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:199:in `invoke_prerequisites'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:178:in `block in invoke_with_call_chain'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/2.1.0/monitor.rb:211:in `mon_synchronize'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:172:in `invoke_with_call_chain'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:165:in `invoke'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:150:in `invoke_task'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:106:in `block (2 levels) in top_level'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:106:in `each'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:106:in `block in top_level'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:115:in `run_with_threads'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:100:in `top_level'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:78:in `block in run'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:176:in `standard_exception_handling'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:75:in `run'
/Users/nate/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rake-10.3.2/bin/rake:33:in `<top (required)>'
/Users/nate/.rbenv/versions/2.1.2/bin/rake:23:in `load'
/Users/nate/.rbenv/versions/2.1.2/bin/rake:23:in `<main>'
Tasks: TOP => environment
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.