Class: Embarista::Updater::UpdateEmberStatesTask
- Inherits:
-
Rake::TaskLib
- Object
- Rake::TaskLib
- Embarista::Updater::UpdateEmberStatesTask
- 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_states) {|_self| ... } ⇒ UpdateEmberStatesTask
constructor
A new instance of UpdateEmberStatesTask.
Constructor Details
#initialize(name = :update_ember_states) {|_self| ... } ⇒ UpdateEmberStatesTask
Returns a new instance of UpdateEmberStatesTask.
106 107 108 109 110 |
# File 'lib/embarista/tasks/updater.rb', line 106 def initialize(name = :update_ember_states) @name = name yield self if block_given? define end |
Instance Attribute Details
#name ⇒ Object
Returns the value of attribute name.
104 105 106 |
# File 'lib/embarista/tasks/updater.rb', line 104 def name @name end |
Instance Method Details
#define ⇒ Object
112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 |
# File 'lib/embarista/tasks/updater.rb', line 112 def define update_ember_states_task = task name do |t, args| old_sha, new_sha = nil, nil regexp = /ember-states-([0-9a-f]{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-states js version" if old_sha.nil? cd('../ember-states') do new_sha = `git rev-parse HEAD`.chomp Bundler.with_clean_env do `bundle && bundle exec rake dist` end cd('./dist') do cp('ember-states.js', "#{app_vendor_path}/ember-states-#{new_sha}.js") cp('ember-states.min.js', "#{app_vendor_path}/ember-states-#{new_sha}.min.js") end end if old_sha != new_sha cd(app_vendor_path) do rm("ember-states-#{old_sha}.js") rm("ember-states-#{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_states_task.add_description "Update Ember States from a repo in ../ember-states" end |