Giter Site home page Giter Site logo

copycopter-ruby-client's People

Contributors

chrishunt avatar dn avatar halogenandtoast avatar jferris avatar joshuaclayton avatar mike-burns avatar mjankowski avatar patricksrobertson avatar tristandunn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

copycopter-ruby-client's Issues

Deploy fails with nasty PGError if no blurbs have been added

I was setting up an install in a new app today, and I admittedly got the steps a little out of order, but it was a little weird to have to tail the logs on the copycopter server to figure it out...

Started POST "/api/v2/projects/[snip]/deploys" for 127.0.0.1 at 2012-11-12 18:34:10 +0000
Processing by Api::V2::DeploysController#create as */*
  Parameters: {"project_id"=>"[snip]"}
Completed 500 Internal Server Error in 5ms

ActiveRecord::StatementInvalid (PG::Error: ERROR:  syntax error at or near ")"
LINE 11:       AND localizations.id IN ();
                                        ^
:       UPDATE localizations
        SET published_version_id = latest_version.id,
        published_content = latest_version.content,
        updated_at = '2012-11-12 18:34:10.075543'
      FROM (
                SELECT DISTINCT ON (localization_id) localization_id, id, content
        FROM versions ORDER BY localization_id DESC, id DESC

        ) AS latest_version
      WHERE latest_version.localization_id = localizations.id
      AND localizations.id IN ();
):
  app/models/localization.rb:56:in `publish'
  app/models/project.rb:50:in `deploy!'
  app/controllers/api/v2/deploys_controller.rb:3:in `create'

Once I added a blurb to a view in the project and loaded the page, the deploy rake task worked fine, but a 500 error made me sad. I'll fix it a little later when I've got more time, but if anyone wants to take a stab at it, by all means! 😄

Add support for array blurbs

We have the following in a YAML file:

type:                  
  - 'VISA'               
  - 'MasterCard'         
  - 'American Express'   
  - 'Diners Club'        
  - 'Discover' 

Is it possible to add support for working with arrays in copycopter?

Invalid API key: (CopycopterClient::InvalidApiKey)

I want my config/initializers/copycopter.rb to look like this:

CopycopterClient.configure do |config|                      
  config.api_key = ENV['COPYCOPTER_API_KEY']                
end

In this particular instance, the reason is because I want to use Copycopter in an app that will soon be open sourced. However, I think it's cleaner in general to think in terms of having config variables as separate from the source code. Heroku provides them and you can use them locally with foreman in the .env file. However, the two cases that .env or config variables aren't available are in the test suite and during rake assets:precompile when deploying to Heroku. It'd be sweet if Copycopter just printed a warning instead of throwing an error, which blows up the deploy and makes for an unsatisfying end to a test run.

.yml localizations seem to bleed into other locales in copycopter

We have a bunch of required fields and use the rails-i18n gem to get localizations of "has to be filled out", "must be larger/smaller than...", etc. And that works great.

But copycopter seems to be bleeding the from one locale to another. I'm digging into the problem, and it seems to come from the client and it seems to matter which language you get the error message in first.

I think it goes something like:

  • Submit a form for a model with an error in German
  • View that same model in an index or show page in English
en:
  activerecord:
    errors:
      models:
        book:
          attributes:
            title:
              blank: muss ausgefüllt werden

All the translations for that model show up, but it is getting the German error message

Translations in config/locales/en.yml are only loaded when triggered by I18n.t

The issue here is that what (lazy) loads translations is when we use the rails I18n#translate call. However, we're relying on config/locales/en.yml to push data to the copycopter_client's cache (to be later sync'ed) so that we can use them from the client side. Therefore there's nowhere in the app where we call I18n#t.

We should make the copycopter client load those translations automatically. Possibly make it configurable if there are any concerns with that.

Any other suggestions?

Rails 3.1.beta1 i18n conflict

We wanted to test migrating to rails 3.1, but Rails 3.1 depends on i18n 0.6.0beta1, which conflicts with copycopter_client's i18n ~> 0.5.0 dependency.

copycopter-client and copycopter-server running on heroku - Is this supported?

I've followed Ryan Bates screencast on setting up copycopter and have deployed both the server and client application utilising Copycopter to heroku.

I can run copycopter locally, but when I then push the git repo to Heroku which includes Copycopter client I get the service crashing.

I have an included .rvmrc file, and do not have enough experience with Heroku to know whether to include this and if it may be contributing to my problem.

I'm running on ruby-1.9.2-p290 with Rails 3.2.3 and the latest version of Copycopter (2.0.1).

The error message I receive when view the log files is as follows:

Vigor16:GDemo railsdev$ heroku ps
Process  State           Command                            
web.1    crashed for 1s  bundle exec rails server -p $PORT  
Vigor16:GDemo railsdev$ heroku logs
2012-04-17T13:10:55+00:00 app[web.1]:   from /app/config.ru:1:in `new'
2012-04-17T13:10:55+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/server.rb:200:in `app'
2012-04-17T13:10:55+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/builder.rb:40:in `parse_file'
2012-04-17T13:10:55+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/commands.rb:50:in `tap'
2012-04-17T13:10:55+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/server.rb:301:in `wrapped_app'
2012-04-17T13:10:55+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/server.rb:252:in `start'
2012-04-17T13:10:55+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/commands/server.rb:46:in `app'
2012-04-17T13:10:55+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/commands.rb:55:in `block in <top (required)>'
2012-04-17T13:10:55+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/commands/server.rb:70:in `start'
2012-04-17T13:10:55+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/commands.rb:50:in `<top (required)>'
2012-04-17T13:10:55+00:00 app[web.1]:   from script/rails:6:in `<main>'
2012-04-17T13:10:55+00:00 app[web.1]:   from script/rails:6:in `require'
2012-04-17T13:10:56+00:00 heroku[web.1]: Process exited with status 1
2012-04-17T13:10:56+00:00 heroku[web.1]: State changed from starting to crashed
2012-04-17T13:10:56+00:00 heroku[web.1]: State changed from crashed to created
2012-04-17T13:10:56+00:00 heroku[web.1]: State changed from created to starting
2012-04-17T13:11:02+00:00 heroku[web.1]: Starting process with command `bundle exec rails server -p 5208`
2012-04-17T13:11:05+00:00 app[web.1]: DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /app/config/environment.rb:5)
2012-04-17T13:11:05+00:00 app[web.1]: DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /app/config/environment.rb:5)
2012-04-17T13:11:05+00:00 app[web.1]: DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /app/config/environment.rb:5)
2012-04-17T13:11:08+00:00 app[web.1]: => Rails 3.2.3 application starting in production on http://0.0.0.0:5208
2012-04-17T13:11:08+00:00 app[web.1]: => Booting WEBrick
2012-04-17T13:11:08+00:00 app[web.1]: => Call with -d to detach
2012-04-17T13:11:08+00:00 app[web.1]: => Ctrl-C to shutdown server
2012-04-17T13:11:08+00:00 app[web.1]: /app/config/initializers/copycopter.rb:1:in `<top (required)>': uninitialized constant CopycopterClient (NameError)
2012-04-17T13:11:08+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/engine.rb:588:in `block (2 levels) in <class:Engine>'
2012-04-17T13:11:08+00:00 app[web.1]: Exiting
2012-04-17T13:11:08+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/engine.rb:587:in `each'
2012-04-17T13:11:08+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/initializable.rb:30:in `instance_exec'
2012-04-17T13:11:08+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/engine.rb:587:in `block in <class:Engine>'
2012-04-17T13:11:08+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/initializable.rb:55:in `block in run_initializers'
2012-04-17T13:11:08+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/initializable.rb:30:in `run'
2012-04-17T13:11:08+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/initializable.rb:54:in `each'
2012-04-17T13:11:08+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/application.rb:136:in `initialize!'
2012-04-17T13:11:08+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/initializable.rb:54:in `run_initializers'
2012-04-17T13:11:08+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/railtie/configurable.rb:30:in `method_missing'
2012-04-17T13:11:08+00:00 app[web.1]:   from /app/config/environment.rb:5:in `<top (required)>'
2012-04-17T13:11:08+00:00 app[web.1]:   from /app/config.ru:4:in `require'
2012-04-17T13:11:08+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/builder.rb:51:in `instance_eval'
2012-04-17T13:11:08+00:00 app[web.1]:   from /app/config.ru:4:in `block in <main>'
2012-04-17T13:11:08+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/builder.rb:51:in `initialize'
2012-04-17T13:11:08+00:00 app[web.1]:   from /app/config.ru:1:in `new'
2012-04-17T13:11:08+00:00 app[web.1]:   from /app/config.ru:1:in `<main>'
2012-04-17T13:11:08+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/builder.rb:40:in `parse_file'
2012-04-17T13:11:08+
00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/server.rb:200:in `app'
2012-04-17T13:11:08+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/commands/server.rb:46:in `app'
2012-04-17T13:11:08+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/builder.rb:40:in `eval'
2012-04-17T13:11:08+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/server.rb:301:in `wrapped_app'
2012-04-17T13:11:08+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/server.rb:252:in `start'
2012-04-17T13:11:08+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/commands/server.rb:70:in `start'
2012-04-17T13:11:08+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/commands.rb:55:in `block in <top (required)>'
2012-04-17T13:11:08+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/commands.rb:50:in `tap'
2012-04-17T13:11:08+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/commands.rb:50:in `<top (required)>'
2012-04-17T13:11:08+00:00 app[web.1]:   from script/rails:6:in `require'
2012-04-17T13:11:08+00:00 app[web.1]:   from script/rails:6:in `<main>'
2012-04-17T13:11:09+00:00 heroku[web.1]: Process exited with status 1
2012-04-17T13:11:09+00:00 heroku[web.1]: State changed from starting to crashed
2012-04-17T13:21:16+00:00 heroku[web.1]: State changed from crashed to created
2012-04-17T13:21:17+00:00 heroku[web.1]: State changed from created to starting
2012-04-17T13:21:23+00:00 heroku[web.1]: Starting process with command `bundle exec rails server -p 41445`
2012-04-17T13:21:29+00:00 app[web.1]: DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /app/config/environment.rb:5)
2012-04-17T13:21:29+00:00 app[web.1]: DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /app/config/environment.rb:5)
2012-04-17T13:21:29+00:00 app[web.1]: DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /app/config/environment.rb:5)
2012-04-17T13:21:33+00:00 app[web.1]: => Booting WEBrick
2012-04-17T13:21:33+00:00 app[web.1]: => Rails 3.2.3 application starting in production on http://0.0.0.0:41445
2012-04-17T13:21:33+00:00 app[web.1]: => Ctrl-C to shutdown server
2012-04-17T13:21:33+00:00 app[web.1]: => Call with -d to detach
2012-04-17T13:21:33+00:00 app[web.1]: Exiting
2012-04-17T13:21:33+00:00 app[web.1]: /app/config/initializers/copycopter.rb:1:in `<top (required)>': uninitialized constant CopycopterClient (NameError)
2012-04-17T13:21:33+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/engine.rb:588:in `block (2 levels) in <class:Engine>'
2012-04-17T13:21:33+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/engine.rb:587:in `each'
2012-04-17T13:21:33+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/engine.rb:587:in `block in <class:Engine>'
2012-04-17T13:21:33+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/initializable.rb:30:in `instance_exec'
2012-04-17T13:21:33+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/initializable.rb:30:in `run'
2012-04-17T13:21:33+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/initializable.rb:54:in `each'
2012-04-17T13:21:33+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/initializable.rb:55:in `block in run_initializers'
2012-04-17T13:21:33+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/initializable.rb:54:in `run_initializers'
2012-04-17T13:21:33+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/application.rb:136:in `initialize!'
2012-04-17T13:21:33+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/railtie/configurable.rb:30:in `method_missing'
2012-04-17T13:21:33+00:00 app[web.1]:   from /app/config.ru:4:in `require'
2012-04-17T13:21:33+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/builder.rb:51:in `instance_eval'
2012-04-17T13:21:33+00:00 app[web.1]:   from /app/config.ru:4:in `block in <main>'
2012-04-17T13:21:33+00:00 app[web.1]:   from /app/config/environment.rb:5:in `<top (required)>'
2012-04-17T13:21:33+00:00 app[web.1]:   from /app/config.ru:1:in `<main>'
2012-04-17T13:21:33+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/builder.rb:51:in `initialize'
2012-04-17T13:21:33+00:00 app[web.1]:   from /app/config.ru:1:in `new'
2012-04-17T13:21:33+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/server.rb:252:in `start'
2012-04-17T13:21:33+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/server.rb:200:in `app'
2012-04-17T13:21:33+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/server.rb:301:in `wrapped_app'
2012-04-17T13:21:33+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/builder.rb:40:in `parse_file'
2012-04-17T13:21:33+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/commands/server.rb:46:in `app'
2012-04-17T13:21:33+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/builder.rb:40:in `eval'
2012-04-17T13:21:33+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/commands/server.rb:70:in `start'
2012-04-17T13:21:33+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/commands.rb:55:in `block in <top (required)>'
2012-04-17T13:21:33+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/commands.rb:50:in `tap'
2012-04-17T13:21:33+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/commands.rb:50:in `<top (required)>'
2012-04-17T13:21:33+00:00 app[web.1]:   from script/rails:6:in `require'
2012-04-17T13:21:33+00:00 app[web.1]:   from script/rails:6:in `<main>'
2012-04-17T13:21:34+00:00 heroku[web.1]: Process exited with status 1
2012-04-17T13:21:34+00:00 heroku[web.1]: State changed from starting to crashed
Vigor16:GDemo railsdev$ 

I have no ideas as to whether both services can be run from heroku. I have an OSS project that I am about to collaborate on where all the team are remote, so I thought this would be a great tool to allow our business users to review the copy and provide feedback.

Maybe I have misunderstood something.

I do notice the DEPRECATION warning but don't know where this originates. As the only difference between when I first deployed the app and now is the additiona of the copycopter.rb file in config/initializers I assume its related to copycopter.

rake copycopter:deploy raises Timeout::Error

Running rake copycopter:deploy in my Rails 3.1 application using copycopter_client 1.1.1 fails with Timeout::Error: Timeout::Error. I do not see any other way to see which blurbs have changes in draft state or to publish them. We have experienced this from different machines on different networks throughout the day.

Trace:
** Invoke copycopter:deploy (first_time)
** Invoke environment (first_time)
** Invoke env_loaded_from_rake (first_time)
** Execute env_loaded_from_rake
** Execute environment
** Execute copycopter:deploy
rake aborted!
Timeout::Error: Timeout::Error
ruby-1.9.3-preview1@my_application_application/gems/copycopter_client-1.1.1/lib/copycopter_client/client.rb:112:in rescue in connect' ruby-1.9.3-preview1@my_application_application/gems/copycopter_client-1.1.1/lib/copycopter_client/client.rb:109:inconnect'
ruby-1.9.3-preview1@my_application_application/gems/copycopter_client-1.1.1/lib/copycopter_client/client.rb:74:in deploy' ruby-1.9.3-preview1@my_application_application/gems/copycopter_client-1.1.1/lib/copycopter_client.rb:24:indeploy'
ruby-1.9.3-preview1@my_application_application/gems/copycopter_client-1.1.1/lib/tasks/copycopter_client_tasks.rake:4:in block (2 levels) in <top (required)>' ruby-1.9.3-preview1@global/gems/rake-0.9.2/lib/rake/task.rb:205:incall'
ruby-1.9.3-preview1@global/gems/rake-0.9.2/lib/rake/task.rb:205:in block in execute' ruby-1.9.3-preview1@global/gems/rake-0.9.2/lib/rake/task.rb:200:ineach'
ruby-1.9.3-preview1@global/gems/rake-0.9.2/lib/rake/task.rb:200:in execute' ruby-1.9.3-preview1@global/gems/rake-0.9.2/lib/rake/task.rb:158:inblock in invoke_with_call_chain'
ruby-1.9.3-preview1/lib/ruby/1.9.1/monitor.rb:211:in mon_synchronize' ruby-1.9.3-preview1@global/gems/rake-0.9.2/lib/rake/task.rb:151:ininvoke_with_call_chain'
ruby-1.9.3-preview1@global/gems/rake-0.9.2/lib/rake/task.rb:144:in invoke' ruby-1.9.3-preview1@global/gems/rake-0.9.2/lib/rake/application.rb:112:ininvoke_task'
ruby-1.9.3-preview1@global/gems/rake-0.9.2/lib/rake/application.rb:90:in block (2 levels) in top_level' ruby-1.9.3-preview1@global/gems/rake-0.9.2/lib/rake/application.rb:90:ineach'
ruby-1.9.3-preview1@global/gems/rake-0.9.2/lib/rake/application.rb:90:in block in top_level' ruby-1.9.3-preview1@global/gems/rake-0.9.2/lib/rake/application.rb:129:instandard_exception_handling'
ruby-1.9.3-preview1@global/gems/rake-0.9.2/lib/rake/application.rb:84:in top_level' ruby-1.9.3-preview1@global/gems/rake-0.9.2/lib/rake/application.rb:62:inblock in run'
ruby-1.9.3-preview1@global/gems/rake-0.9.2/lib/rake/application.rb:129:in standard_exception_handling' ruby-1.9.3-preview1@global/gems/rake-0.9.2/lib/rake/application.rb:59:inrun'
ruby-1.9.3-preview1@global/gems/rake-0.9.2/bin/rake:32:in <top (required)>' ruby-1.9.3-preview1@my_application_application/bin/rake:19:inload'
ruby-1.9.3-preview1@my_application_application/bin/rake:19:in `

'
Tasks: TOP => copycopter:deploy

Production Server Not Being Updated, But Dev Works

I've marked one of my blurb's as published, but my production server isn't seeing the changes. This line pops up in the log occasionally:

** [Copycopter] [P:8994] [T:82457100] Downloaded translations

The dev server (running development environment), does see the changes.

This is my config file:

CopycopterClient.configure do |config|
  config.api_key = ENV['COPYCOPTER_API_KEY']
  config.host = ENV['COPYCOPTER_HOST']
end

Running ENV['COPYCOPTER_API_KEY'] from a rails console on the production server yields the correct key.

Gemspec error while migrating to copycopter 2.0 with new server

Using Rails 2.3 with Ruby 1.8.7, Bundler version 1.1.3

When doing a rake deploy to a Heroku Bamboo stack, after Rake Db:migrate, I get the following error:

WARNING:  #<ArgumentError: Illformed requirement
["#<YAML::Syck::DefaultKey:0x2b11f8fbac68> 0.9.2"]>
# -*- encoding: utf-8 -*-


Gem::Specification.new do |s|
 s.name = %q{copycopter_client}
 s.version = "2.0.0"

 s.required_rubygems_version = Gem::Requirement.new(">= 0") if
s.respond_to? :required_rubygems_version=
 s.authors = ["thoughtbot"]
 s.date = %q{2012-03-16}
 s.email = %q{[email protected]}
 s.files = [".gitignore", ".rspec", ".travis.yml", "Appraisals",
"Gemfile", "Gemfile.lock", "MIT-LICENSE", "README.md", "Rakefile",
"copycopter_client.gemspec", "features/rails.feature",
"features/step_definitions/copycopter_server_steps.rb",
"features/step_definitions/rails_steps.rb", "features/support/env.rb",
"features/support/rails_server.rb", "gemfiles/2.3.gemfile",
"gemfiles/2.3.gemfile.lock", "gemfiles/3.0.gemfile",
"gemfiles/3.0.gemfile.lock", "gemfiles/3.1.gemfile",
"gemfiles/3.1.gemfile.lock", "init.rb", "lib/copycopter_client.rb",
"lib/copycopter_client/cache.rb", "lib/copycopter_client/client.rb",
"lib/copycopter_client/configuration.rb",
"lib/copycopter_client/errors.rb",
"lib/copycopter_client/i18n_backend.rb",
"lib/copycopter_client/poller.rb",
"lib/copycopter_client/prefixed_logger.rb",
"lib/copycopter_client/process_guard.rb",
"lib/copycopter_client/rails.rb", "lib/copycopter_client/railtie.rb",
"lib/copycopter_client/request_sync.rb",
"lib/copycopter_client/version.rb",
"lib/tasks/copycopter_client_tasks.rake",
"spec/copycopter_client/cache_spec.rb",
"spec/copycopter_client/client_spec.rb",
"spec/copycopter_client/configuration_spec.rb",
"spec/copycopter_client/i18n_backend_spec.rb",
"spec/copycopter_client/poller_spec.rb",
"spec/copycopter_client/prefixed_logger_spec.rb",
"spec/copycopter_client/process_guard_spec.rb",
"spec/copycopter_client/request_sync_spec.rb",
"spec/copycopter_client_spec.rb", "spec/spec_helper.rb",
"spec/support/client_spec_helpers.rb",
"spec/support/defines_constants.rb", "spec/support/fake_client.rb",
"spec/support/fake_copycopter_app.rb",
"spec/support/fake_html_safe_string.rb",
"spec/support/fake_logger.rb", "spec/support/fake_passenger.rb",
"spec/support/fake_resque_job.rb", "spec/support/fake_unicorn.rb",
"spec/support/middleware_stack.rb", "spec/support/writing_cache.rb",
"tmp/projects.json"]
 s.homepage = %q{http://github.com/copycopter/copycopter-ruby-client}
 s.require_paths = ["lib"]
 s.rubygems_version = %q{1.3.7}
 s.summary = %q{Client for the Copycopter copy management service}
 s.test_files = ["features/rails.feature",
"features/step_definitions/copycopter_server_steps.rb",
"features/step_definitions/rails_steps.rb", "features/support/env.rb",
"features/support/rails_server.rb",
"spec/copycopter_client/cache_spec.rb",
"spec/copycopter_client/client_spec.rb",
"spec/copycopter_client/configuration_spec.rb",
"spec/copycopter_client/i18n_backend_spec.rb",
"spec/copycopter_client/poller_spec.rb",
"spec/copycopter_client/prefixed_logger_spec.rb",
"spec/copycopter_client/process_guard_spec.rb",
"spec/copycopter_client/request_sync_spec.rb",
"spec/copycopter_client_spec.rb", "spec/spec_helper.rb",
"spec/support/client_spec_helpers.rb",
"spec/support/defines_constants.rb", "spec/support/fake_client.rb",
"spec/support/fake_copycopter_app.rb",
"spec/support/fake_html_safe_string.rb",
"spec/support/fake_logger.rb", "spec/support/fake_passenger.rb",
"spec/support/fake_resque_job.rb", "spec/support/fake_unicorn.rb",
"spec/support/middleware_stack.rb", "spec/support/writing_cache.rb"]

 if s.respond_to? :specification_version then
   current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
   s.specification_version = 3

   if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
     s.add_runtime_dependency(%q<i18n>, [">= 0.5.0"])
     s.add_runtime_dependency(%q<json>, [">= 0"])
     s.add_development_dependency(%q<appraisal>, ["~> 0.4"])
     s.add_development_dependency(%q<aruba>, ["~> 0.3.2"])
     s.add_development_dependency(%q<bourne>, [">= 0"])
     s.add_development_dependency(%q<cucumber>, ["~> 0.10.0"])
     s.add_development_dependency(%q<i18n>, [">= 0"])
     s.add_development_dependency(%q<rails>, ["~> 3.1.0"])
     s.add_development_dependency(%q<rake>,
["#<YAML::Syck::DefaultKey:0x2b11f8fbac68> 0.9.2"])
     s.add_development_dependency(%q<rspec>, ["~> 2.3"])
     s.add_development_dependency(%q<sham_rack>, [">= 0"])
     s.add_development_dependency(%q<sinatra>, [">= 0"])
     s.add_development_dependency(%q<sqlite3-ruby>, [">= 0"])
     s.add_development_dependency(%q<thin>, [">= 0"])
     s.add_development_dependency(%q<webmock>, [">= 0"])
     s.add_development_dependency(%q<yard>, [">= 0"])
   else
     s.add_dependency(%q<i18n>, [">= 0.5.0"])
     s.add_dependency(%q<json>, [">= 0"])
     s.add_dependency(%q<appraisal>, ["~> 0.4"])
     s.add_dependency(%q<aruba>, ["~> 0.3.2"])
     s.add_dependency(%q<bourne>, [">= 0"])
     s.add_dependency(%q<cucumber>, ["~> 0.10.0"])
     s.add_dependency(%q<i18n>, [">= 0"])
     s.add_dependency(%q<rails>, ["~> 3.1.0"])
     s.add_dependency(%q<rake>,
["#<YAML::Syck::DefaultKey:0x2b11f8fbac68> 0.9.2"])
     s.add_dependency(%q<rspec>, ["~> 2.3"])
     s.add_dependency(%q<sham_rack>, [">= 0"])
     s.add_dependency(%q<sinatra>, [">= 0"])
     s.add_dependency(%q<sqlite3-ruby>, [">= 0"])
     s.add_dependency(%q<thin>, [">= 0"])
     s.add_dependency(%q<webmock>, [">= 0"])
     s.add_dependency(%q<yard>, [">= 0"])
   end
 else
   s.add_dependency(%q<i18n>, [">= 0.5.0"])
   s.add_dependency(%q<json>, [">= 0"])
   s.add_dependency(%q<appraisal>, ["~> 0.4"])
   s.add_dependency(%q<aruba>, ["~> 0.3.2"])
   s.add_dependency(%q<bourne>, [">= 0"])
   s.add_dependency(%q<cucumber>, ["~> 0.10.0"])
   s.add_dependency(%q<i18n>, [">= 0"])
   s.add_dependency(%q<rails>, ["~> 3.1.0"])
   s.add_dependency(%q<rake>,
["#<YAML::Syck::DefaultKey:0x2b11f8fbac68> 0.9.2"])
   s.add_dependency(%q<rspec>, ["~> 2.3"])
   s.add_dependency(%q<sham_rack>, [">= 0"])
   s.add_dependency(%q<sinatra>, [">= 0"])
   s.add_dependency(%q<sqlite3-ruby>, [">= 0"])
   s.add_dependency(%q<thin>, [">= 0"])
   s.add_dependency(%q<webmock>, [">= 0"])
   s.add_dependency(%q<yard>, [">= 0"])
 end
end
WARNING:  Invalid .gemspec format in
'/app/.bundle/gems/ruby/1.8/specifications/copycopter_client-2.0.0.gemspec'
WARNING:  #<ArgumentError: Illformed requirement
["#<YAML::Syck::DefaultKey:0x2b11f8fbac68> 0.9.2"]>
# -*- encoding: utf-8 -*-

Gem::Specification.new do |s|
 s.name = %q{copycopter_client}
 s.version = "2.0.0"

 s.required_rubygems_version = Gem::Requirement.new(">= 0") if
s.respond_to? :required_rubygems_version=
 s.authors = ["thoughtbot"]
 s.date = %q{2012-03-16}
 s.email = %q{[email protected]}
 s.files = [".gitignore", ".rspec", ".travis.yml", "Appraisals",
"Gemfile", "Gemfile.lock", "MIT-LICENSE", "README.md", "Rakefile",
"copycopter_client.gemspec", "features/rails.feature",
"features/step_definitions/copycopter_server_steps.rb",
"features/step_definitions/rails_steps.rb", "features/support/env.rb",
"features/support/rails_server.rb", "gemfiles/2.3.gemfile",
"gemfiles/2.3.gemfile.lock", "gemfiles/3.0.gemfile",
"gemfiles/3.0.gemfile.lock", "gemfiles/3.1.gemfile",
"gemfiles/3.1.gemfile.lock", "init.rb", "lib/copycopter_client.rb",
"lib/copycopter_client/cache.rb", "lib/copycopter_client/client.rb",
"lib/copycopter_client/configuration.rb",
"lib/copycopter_client/errors.rb",
"lib/copycopter_client/i18n_backend.rb",
"lib/copycopter_client/poller.rb",
"lib/copycopter_client/prefixed_logger.rb",
"lib/copycopter_client/process_guard.rb",
"lib/copycopter_client/rails.rb", "lib/copycopter_client/railtie.rb",
"lib/copycopter_client/request_sync.rb",
"lib/copycopter_client/version.rb",
"lib/tasks/copycopter_client_tasks.rake",
"spec/copycopter_client/cache_spec.rb",
"spec/copycopter_client/client_spec.rb",
"spec/copycopter_client/configuration_spec.rb",
"spec/copycopter_client/i18n_backend_spec.rb",
"spec/copycopter_client/poller_spec.rb",
"spec/copycopter_client/prefixed_logger_spec.rb",
"spec/copycopter_client/process_guard_spec.rb",
"spec/copycopter_client/request_sync_spec.rb",
"spec/copycopter_client_spec.rb", "spec/spec_helper.rb",
"spec/support/client_spec_helpers.rb",
"spec/support/defines_constants.rb", "spec/support/fake_client.rb",
"spec/support/fake_copycopter_app.rb",
"spec/support/fake_html_safe_string.rb",
"spec/support/fake_logger.rb", "spec/support/fake_passenger.rb",
"spec/support/fake_resque_job.rb", "spec/support/fake_unicorn.rb",
"spec/support/middleware_stack.rb", "spec/support/writing_cache.rb",
"tmp/projects.json"]
 s.homepage = %q{http://github.com/copycopter/copycopter-ruby-client}
 s.require_paths = ["lib"]
 s.rubygems_version = %q{1.3.7}
 s.summary = %q{Client for the Copycopter copy management service}
 s.test_files = ["features/rails.feature",
"features/step_definitions/copycopter_server_steps.rb",
"features/step_definitions/rails_steps.rb", "features/support/env.rb",
"features/support/rails_server.rb",
"spec/copycopter_client/cache_spec.rb",
"spec/copycopter_client/client_spec.rb",
"spec/copycopter_client/configuration_spec.rb",
"spec/copycopter_client/i18n_backend_spec.rb",
"spec/copycopter_client/poller_spec.rb",
"spec/copycopter_client/prefixed_logger_spec.rb",
"spec/copycopter_client/process_guard_spec.rb",
"spec/copycopter_client/request_sync_spec.rb",
"spec/copycopter_client_spec.rb", "spec/spec_helper.rb",
"spec/support/client_spec_helpers.rb",
"spec/support/defines_constants.rb", "spec/support/fake_client.rb",
"spec/support/fake_copycopter_app.rb",
"spec/support/fake_html_safe_string.rb",
"spec/support/fake_logger.rb", "spec/support/fake_passenger.rb",
"spec/support/fake_resque_job.rb", "spec/support/fake_unicorn.rb",
"spec/support/middleware_stack.rb", "spec/support/writing_cache.rb"]

 if s.respond_to? :specification_version then
   current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
   s.specification_version = 3

   if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
     s.add_runtime_dependency(%q<i18n>, [">= 0.5.0"])
     s.add_runtime_dependency(%q<json>, [">= 0"])
     s.add_development_dependency(%q<appraisal>, ["~> 0.4"])
     s.add_development_dependency(%q<aruba>, ["~> 0.3.2"])
     s.add_development_dependency(%q<bourne>, [">= 0"])
     s.add_development_dependency(%q<cucumber>, ["~> 0.10.0"])
     s.add_development_dependency(%q<i18n>, [">= 0"])
     s.add_development_dependency(%q<rails>, ["~> 3.1.0"])
     s.add_development_dependency(%q<rake>,
["#<YAML::Syck::DefaultKey:0x2b11f8fbac68> 0.9.2"])
     s.add_development_dependency(%q<rspec>, ["~> 2.3"])
     s.add_development_dependency(%q<sham_rack>, [">= 0"])
     s.add_development_dependency(%q<sinatra>, [">= 0"])
     s.add_development_dependency(%q<sqlite3-ruby>, [">= 0"])
     s.add_development_dependency(%q<thin>, [">= 0"])
     s.add_development_dependency(%q<webmock>, [">= 0"])
     s.add_development_dependency(%q<yard>, [">= 0"])
   else
     s.add_dependency(%q<i18n>, [">= 0.5.0"])
     s.add_dependency(%q<json>, [">= 0"])
     s.add_dependency(%q<appraisal>, ["~> 0.4"])
     s.add_dependency(%q<aruba>, ["~> 0.3.2"])
     s.add_dependency(%q<bourne>, [">= 0"])
     s.add_dependency(%q<cucumber>, ["~> 0.10.0"])
     s.add_dependency(%q<i18n>, [">= 0"])
     s.add_dependency(%q<rails>, ["~> 3.1.0"])
     s.add_dependency(%q<rake>,
["#<YAML::Syck::DefaultKey:0x2b11f8fbac68> 0.9.2"])
     s.add_dependency(%q<rspec>, ["~> 2.3"])
     s.add_dependency(%q<sham_rack>, [">= 0"])
     s.add_dependency(%q<sinatra>, [">= 0"])
     s.add_dependency(%q<sqlite3-ruby>, [">= 0"])
     s.add_dependency(%q<thin>, [">= 0"])
     s.add_dependency(%q<webmock>, [">= 0"])
     s.add_dependency(%q<yard>, [">= 0"])
   end
 else
   s.add_dependency(%q<i18n>, [">= 0.5.0"])
   s.add_dependency(%q<json>, [">= 0"])
   s.add_dependency(%q<appraisal>, ["~> 0.4"])
   s.add_dependency(%q<aruba>, ["~> 0.3.2"])
   s.add_dependency(%q<bourne>, [">= 0"])
   s.add_dependency(%q<cucumber>, ["~> 0.10.0"])
   s.add_dependency(%q<i18n>, [">= 0"])
   s.add_dependency(%q<rails>, ["~> 3.1.0"])
   s.add_dependency(%q<rake>,
["#<YAML::Syck::DefaultKey:0x2b11f8fbac68> 0.9.2"])
   s.add_dependency(%q<rspec>, ["~> 2.3"])
   s.add_dependency(%q<sham_rack>, [">= 0"])
   s.add_dependency(%q<sinatra>, [">= 0"])
   s.add_dependency(%q<sqlite3-ruby>, [">= 0"])
   s.add_dependency(%q<thin>, [">= 0"])
   s.add_dependency(%q<webmock>, [">= 0"])
   s.add_dependency(%q<yard>, [">= 0"])
 end
end
WARNING:  Invalid .gemspec format in
'/app/.bundle/gems/ruby/1.8/specifications/copycopter_client-2.0.0.gemspec'

Incompatible with active_admin

Currently experiencing the following error with every version of active_admin from 0.4.0 to current master (this exception taken while using master):

/Users/robertmay/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.2.0/lib/active_support/inflector/methods.rb:97:in `block in humanize': undefined method `downcase' for nil:NilClass (NoMethodError)
    from /Users/robertmay/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.2.0/lib/active_support/core_ext/string/output_safety.rb:160:in `gsub'
    from /Users/robertmay/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.2.0/lib/active_support/core_ext/string/output_safety.rb:160:in `gsub'
    from /Users/robertmay/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.2.0/lib/active_support/inflector/methods.rb:97:in `humanize'
    from /Users/robertmay/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.2.0/lib/active_support/inflector/methods.rb:112:in `titleize'
    from /Users/robertmay/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.2.0/lib/active_support/core_ext/string/inflections.rb:95:in `titleize'
    from /Users/robertmay/.rvm/gems/ruby-1.9.3-p125/bundler/gems/active_admin-c183c89f1c69/lib/active_admin/resource/naming.rb:23:in `resource_label'
    from /Users/robertmay/.rvm/gems/ruby-1.9.3-p125/bundler/gems/active_admin-c183c89f1c69/lib/active_admin/resource/naming.rb:32:in `plural_resource_label'
    from /Users/robertmay/.rvm/gems/ruby-1.9.3-p125/bundler/gems/active_admin-c183c89f1c69/lib/active_admin/batch_actions/resource_extension.rb:52:in `add_default_batch_actions'
    from /Users/robertmay/.rvm/gems/ruby-1.9.3-p125/bundler/gems/active_admin-c183c89f1c69/lib/active_admin/batch_actions/resource_extension.rb:9:in `initialize'
    from /Users/robertmay/.rvm/gems/ruby-1.9.3-p125/bundler/gems/active_admin-c183c89f1c69/lib/active_admin/namespace.rb:130:in `new'
    from /Users/robertmay/.rvm/gems/ruby-1.9.3-p125/bundler/gems/active_admin-c183c89f1c69/lib/active_admin/namespace.rb:130:in `find_or_build_resource'
    from /Users/robertmay/.rvm/gems/ruby-1.9.3-p125/bundler/gems/active_admin-c183c89f1c69/lib/active_admin/namespace.rb:50:in `register'
    from /Users/robertmay/.rvm/gems/ruby-1.9.3-p125/bundler/gems/active_admin-c183c89f1c69/lib/active_admin/application.rb:100:in `register'
    from /Users/robertmay/.rvm/gems/ruby-1.9.3-p125/bundler/gems/active_admin-c183c89f1c69/lib/active_admin.rb:74:in `register'
    from /Users/robertmay/Development/Rails/BPB/app/admin/articles.rb:1:in `<top (required)>'

Timeout::Error: execution expired

I deleted my tmp and am now getting Timeout::Error: execution expired.

** [Copycopter] [P:79066] [T:70241002134060] Timeout::Error: execution expired
** [Copycopter] [P:79066] [T:70241002133200] Timeout::Error: execution expired
** [Copycopter] [P:79066] [T:70241002133200] Timeout::Error: execution expired

It blocks my HTTP requests, at least in development environment. I would expect it to fallback to the default and timeout "quickly", no? Does it work the same in production, ie. when copycopter is having a problem I get a site that's down?

Rails 3.1.3, asset pipeline disabled.

[Feature] Post data in batches

Hi, I don't know if it's only my problem, but probably most of teams can have issues when adding copycopter to existing project which have 2K+ translations. There are basically two problems:

  • server response/request timeouts
  • server db transaction timeouts

Each of those occurs when you want to send and store a large piece of translations. We could put it either on the client side or server side.

The first option could probably look something like making chunks from data, and posting one after another, we don't need a background job because from what I see the client work in second thread anyway.

The second option would probably involve something similar, so getting the missing translations, saving them as plain text in db, and then in background split them into batches, and save it within smaller transactions. Maybe we could also use batch inserts?

I would opt in to implement it. I already have a working prototype on client side, but probably it would be better to make it within copycopter-server. I will investigate it further on weekend, but it would be nice if someone would give me an general quick overview of connection between client and server. So i.e. if it checks missing keys after downloading them from server, or it just push everything there on startup, also what I should be aware of when making it.

What do you think? Hopefully some maintainer will take a look ;>

copycopter_client causes rails to hang when daemonized

After I added copycopter_client to my rails application, I noticed an interesting side-effect.

The rails process doesn't start properly unless it's slowed down a bit after CopycopterClient.configure. Just adding sleep 2 after configuration allows rails to start normally.

The logs can easily be used to identify when the problem occurs. Without the sleep clause "Downloaded translations" message doesn't appear in the log and rails doesn't respond at all.

I currently don't have anything to go on to further debug this issue.

My copycopter initializer contains:

     CopycopterClient.configure do |config|
       config.api_key = 'mykey'
       config.host = 'my-copycopter.herokuapp.com'
     end
     sleep 1

This issue is seen with rails 3.2.6 and ruby 1.9.3

copycopter:deploy times out

$rake copycopter:deploy
rake aborted!
Timeout::Error: Timeout::Error

Tasks: TOP => copycopter:deploy
(See full trace by running task with --trace)

We have a fairly large project. I have no way of knowing if the deploy actually finishes eventually or not. Either way, it probably needs to be faster and/or have the timeout extended.

Stack trace:

/Users/aaronjensen/.rvm/gems/ruby-1.9.2-p290/gems/copycopter_client-1.1.1/lib/copycopter_client/client.rb:112:in `rescue in connect'
/Users/aaronjensen/.rvm/gems/ruby-1.9.2-p290/gems/copycopter_client-1.1.1/lib/copycopter_client/client.rb:109:in `connect'
/Users/aaronjensen/.rvm/gems/ruby-1.9.2-p290/gems/copycopter_client-1.1.1/lib/copycopter_client/client.rb:74:in `deploy'
/Users/aaronjensen/.rvm/gems/ruby-1.9.2-p290/gems/copycopter_client-1.1.1/lib/copycopter_client.rb:24:in `deploy'
/Users/aaronjensen/.rvm/gems/ruby-1.9.2-p290/gems/copycopter_client-1.1.1/lib/tasks/copycopter_client_tasks.rake:4:in `block (2 levels) in <top (required)>'

Copycopter slows down development and staging environment to the point that it's unusable

It takes anywhere from 3-7 seconds usually for copycopter to check for updates to strings. I don't know if it's because our app has grown to the point where the dump is several MB or what, but it makes the development environment unusable. Furthermore, in order to disable the refresh we have to set the development environments to [] which has the unfortunate side effect of not updating the server whenever we add a new key. So we really need to manually switch between running in "development" (according to copycopter) and not.

Is there a way to speed things up and/or have a hybrid environment in which new strings will get pushed to the server but it won't check for updates every request?

Turn off logging

Is there any way to turn off the logging or at least, pipe it to another log file?

Clarify Supported Ruby & Rails Versions

The gem should probably be able to handle the following rubies:

  • 1.8.7
  • REE
  • 1.9.2
  • 1.9.3
  • JRuby
  • RBX

The gem should also handle currently supported versions of Rails:

  • 3.0.X
  • 3.1.X
  • 3.2.X

With the release of Rails 4.0 and the core teams decision to no longer support Ruby 1.8.X, I think we can fully remove support as well. For now we can indicate that Ruby 1.8.7 is being deprecated.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.