Class: Embarista::Updater::UpdateEmberDataTask
- Inherits:
-
Rake::TaskLib
- Object
- Rake::TaskLib
- Embarista::Updater::UpdateEmberDataTask
- Defined in:
- lib/embarista/tasks/updater.rb
Instance Attribute Summary collapse
-
#name ⇒ Object
Returns the value of attribute name.
Instance Method Summary collapse
- #define ⇒ Object
-
#initialize(name = :update_ember_data) {|_self| ... } ⇒ UpdateEmberDataTask
constructor
A new instance of UpdateEmberDataTask.
Constructor Details
#initialize(name = :update_ember_data) {|_self| ... } ⇒ UpdateEmberDataTask
Returns a new instance of UpdateEmberDataTask.
63 64 65 66 67 |
# File 'lib/embarista/tasks/updater.rb', line 63 def initialize(name = :update_ember_data) @name = name yield self if block_given? define end |
Instance Attribute Details
#name ⇒ Object
Returns the value of attribute name.
61 62 63 |
# File 'lib/embarista/tasks/updater.rb', line 61 def name @name end |
Instance Method Details
#define ⇒ Object
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 |
# File 'lib/embarista/tasks/updater.rb', line 69 def define update_ember_data_task = task name do |t, args| old_sha, new_sha = nil, nil regexp = /ember-data-([0-9a-f]{4,40})/ app_vendor_path = File.("app/vendor") cd(app_vendor_path) do old_filename = Dir['*'].grep(regexp)[0] old_filename =~ regexp old_sha = $1 end raise "Couldn't find current ember-data js version" if old_sha.nil? cd('../ember-data') do new_sha = `git rev-parse HEAD`.chomp Bundler.with_clean_env do `npm install; ./node_modules/.bin/grunt dist` end cd('./dist') do cp('ember-data.js', "#{app_vendor_path}/ember-data-#{new_sha}.js") cp('ember-data.min.js', "#{app_vendor_path}/ember-data-#{new_sha}.min.js") end end if old_sha != new_sha cd(app_vendor_path) do rm("ember-data-#{old_sha}.js") rm("ember-data-#{old_sha}.min.js") end Embarista::Updater.update_asset_file(old_sha, new_sha) end puts "Updated from #{old_sha} to #{new_sha}" end update_ember_data_task.add_description "Update Ember data from a repo in ../ember-data" end |