Class: Middleman::Cli::RackspaceCDN
- Defined in:
- lib/middleman-cdn/cdns/rackspace.rb
Constant Summary collapse
- DAILY_LIMIT =
25
Class Method Summary collapse
Instance Method Summary collapse
Methods inherited from BaseCDN
example_configuration, #say_status
Class Method Details
.example_configuration_elements ⇒ Object
14 15 16 17 18 19 20 21 22 |
# File 'lib/middleman-cdn/cdns/rackspace.rb', line 14 def self.example_configuration_elements { username: ['"..."', "# default ENV['RACKSPACE_USERNAME']"], api_key: ['"..."', "# default ENV['RACKSPACE_API_KEY']"], region: ['"DFW"', "# DFW, SYD, IAD, ORD, HKG, etc"], container: ['"..."', ""], notification_email: ['"..."', "# optional"], } end |
.key ⇒ Object
10 11 12 |
# File 'lib/middleman-cdn/cdns/rackspace.rb', line 10 def self.key "rackspace" end |
Instance Method Details
#invalidate(options, files, all: false) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/middleman-cdn/cdns/rackspace.rb', line 24 def invalidate(, files, all: false) [:username] ||= ENV['RACKSPACE_USERNAME'] [:api_key] ||= ENV['RACKSPACE_API_KEY'] [:username, :api_key, :region, :container].each do |key| if [key].blank? say_status(ANSI.red{ "Error: Configuration key rackspace[:#{key}] is missing." }) raise end end files = files.reject { |file| file.end_with?("/") } if files.count > DAILY_LIMIT say_status("Warning: You are invalidating more files than Rackspace's daily limit (25).") say_status("Press ENTER to continue, or CTRL-C to exit.", wait_enter: true) end rackspace_client = RackspaceClient.new([:username], [:api_key]) files.each do |file| invalidate_file(rackspace_client, [:region], [:container], file, notification_email: [:notification_email]) end end |