Class: AssetSync::Config
- Inherits:
-
Object
- Object
- AssetSync::Config
- Includes:
- ActiveModel::Validations
- Defined in:
- lib/asset_sync/config.rb
Defined Under Namespace
Classes: Invalid
Instance Attribute Summary collapse
-
#aws_access_key_id ⇒ Object
Amazon AWS.
-
#aws_secret_access_key ⇒ Object
Amazon AWS.
-
#existing_remote_files ⇒ Object
AssetSync.
-
#fail_silently ⇒ Object
Returns the value of attribute fail_silently.
-
#fog_directory ⇒ Object
e.g.
-
#fog_provider ⇒ Object
FOG configuration.
-
#fog_region ⇒ Object
e.g.
-
#gzip_compression ⇒ Object
Returns the value of attribute gzip_compression.
-
#manifest ⇒ Object
Returns the value of attribute manifest.
-
#rackspace_api_key ⇒ Object
Rackspace.
-
#rackspace_auth_url ⇒ Object
Rackspace.
-
#rackspace_username ⇒ Object
Rackspace.
Instance Method Summary collapse
- #assets_prefix ⇒ Object
- #aws? ⇒ Boolean
- #existing_remote_files? ⇒ Boolean
- #fail_silently? ⇒ Boolean
- #fog_options ⇒ Object
- #gzip? ⇒ Boolean
-
#initialize ⇒ Config
constructor
A new instance of Config.
- #load_yml! ⇒ Object
- #manifest_path ⇒ Object
- #rackspace? ⇒ Boolean
- #yml ⇒ Object
- #yml_exists? ⇒ Boolean
- #yml_path ⇒ Object
Constructor Details
#initialize ⇒ Config
Returns a new instance of Config.
34 35 36 37 38 39 40 41 |
# File 'lib/asset_sync/config.rb', line 34 def initialize self.fog_region = nil self.existing_remote_files = 'keep' self.gzip_compression = false self.manifest = false self.fail_silently = false load_yml! if yml_exists? end |
Instance Attribute Details
#aws_access_key_id ⇒ Object
Amazon AWS
19 20 21 |
# File 'lib/asset_sync/config.rb', line 19 def aws_access_key_id @aws_access_key_id end |
#aws_secret_access_key ⇒ Object
Amazon AWS
19 20 21 |
# File 'lib/asset_sync/config.rb', line 19 def aws_secret_access_key @aws_secret_access_key end |
#existing_remote_files ⇒ Object
AssetSync
8 9 10 |
# File 'lib/asset_sync/config.rb', line 8 def existing_remote_files @existing_remote_files end |
#fail_silently ⇒ Object
Returns the value of attribute fail_silently.
11 12 13 |
# File 'lib/asset_sync/config.rb', line 11 def fail_silently @fail_silently end |
#fog_directory ⇒ Object
e.g. ‘the-bucket-name’
15 16 17 |
# File 'lib/asset_sync/config.rb', line 15 def fog_directory @fog_directory end |
#fog_provider ⇒ Object
FOG configuration
14 15 16 |
# File 'lib/asset_sync/config.rb', line 14 def fog_provider @fog_provider end |
#fog_region ⇒ Object
e.g. ‘eu-west-1’
16 17 18 |
# File 'lib/asset_sync/config.rb', line 16 def fog_region @fog_region end |
#gzip_compression ⇒ Object
Returns the value of attribute gzip_compression.
9 10 11 |
# File 'lib/asset_sync/config.rb', line 9 def gzip_compression @gzip_compression end |
#manifest ⇒ Object
Returns the value of attribute manifest.
10 11 12 |
# File 'lib/asset_sync/config.rb', line 10 def manifest @manifest end |
#rackspace_api_key ⇒ Object
Rackspace
22 23 24 |
# File 'lib/asset_sync/config.rb', line 22 def rackspace_api_key @rackspace_api_key end |
#rackspace_auth_url ⇒ Object
Rackspace
22 23 24 |
# File 'lib/asset_sync/config.rb', line 22 def rackspace_auth_url @rackspace_auth_url end |
#rackspace_username ⇒ Object
Rackspace
22 23 24 |
# File 'lib/asset_sync/config.rb', line 22 def rackspace_username @rackspace_username end |
Instance Method Details
#assets_prefix ⇒ Object
81 82 83 84 |
# File 'lib/asset_sync/config.rb', line 81 def assets_prefix # Fix for Issue #38 when Rails.config.assets.prefix starts with a slash Rails.application.config.assets.prefix.sub(/^\//, '') end |
#aws? ⇒ Boolean
57 58 59 |
# File 'lib/asset_sync/config.rb', line 57 def aws? fog_provider == 'AWS' end |
#existing_remote_files? ⇒ Boolean
53 54 55 |
# File 'lib/asset_sync/config.rb', line 53 def existing_remote_files? (self.existing_remote_files == "keep") end |
#fail_silently? ⇒ Boolean
61 62 63 |
# File 'lib/asset_sync/config.rb', line 61 def fail_silently? fail_silently == true end |
#fog_options ⇒ Object
114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 |
# File 'lib/asset_sync/config.rb', line 114 def = { :provider => fog_provider } if aws? .merge!({ :aws_access_key_id => aws_access_key_id, :aws_secret_access_key => aws_secret_access_key }) elsif rackspace? .merge!({ :rackspace_username => rackspace_username, :rackspace_api_key => rackspace_api_key }) .merge!({ :rackspace_auth_url => rackspace_auth_url }) if rackspace_auth_url else raise ArgumentError, "AssetSync Unknown provider: #{fog_provider} only AWS and Rackspace are supported currently." end .merge!({:region => fog_region}) if fog_region return end |
#gzip? ⇒ Boolean
49 50 51 |
# File 'lib/asset_sync/config.rb', line 49 def gzip? self.gzip_compression end |
#load_yml! ⇒ Object
86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 |
# File 'lib/asset_sync/config.rb', line 86 def load_yml! self.fog_provider = yml["fog_provider"] self.fog_directory = yml["fog_directory"] self.fog_region = yml["fog_region"] self.aws_access_key_id = yml["aws_access_key_id"] self.aws_secret_access_key = yml["aws_secret_access_key"] self.rackspace_username = yml["rackspace_username"] self.rackspace_auth_url = yml["rackspace_auth_url"] if yml.has_key?("rackspace_auth_url") self.rackspace_api_key = yml["rackspace_api_key"] self.existing_remote_files = yml["existing_remote_files"] if yml.has_key?("existing_remote_files") self.gzip_compression = yml["gzip_compression"] if yml.has_key?("gzip_compression") self.manifest = yml["manifest"] if yml.has_key?("manifest") self.fail_silently = yml["fail_silently"] if yml.has_key?("fail_silently") # TODO deprecate the other old style config settings. FML. self.aws_access_key_id = yml["aws_access_key"] if yml.has_key?("aws_access_key") self.aws_secret_access_key = yml["aws_access_secret"] if yml.has_key?("aws_access_secret") self.fog_directory = yml["aws_bucket"] if yml.has_key?("aws_bucket") self.fog_region = yml["aws_region"] if yml.has_key?("aws_region") # TODO deprecate old style config settings self.aws_access_key_id = yml["access_key_id"] if yml.has_key?("access_key_id") self.aws_secret_access_key = yml["secret_access_key"] if yml.has_key?("secret_access_key") self.fog_directory = yml["bucket"] if yml.has_key?("bucket") self.fog_region = yml["region"] if yml.has_key?("region") end |
#manifest_path ⇒ Object
43 44 45 46 47 |
# File 'lib/asset_sync/config.rb', line 43 def manifest_path directory = Rails.application.config.assets.manifest || default_manifest_directory "#{directory}/manifest.yml" end |
#rackspace? ⇒ Boolean
65 66 67 |
# File 'lib/asset_sync/config.rb', line 65 def rackspace? fog_provider == 'Rackspace' end |
#yml ⇒ Object
73 74 75 |
# File 'lib/asset_sync/config.rb', line 73 def yml @yml ||= YAML.load(ERB.new(IO.read(yml_path)).result)[Rails.env] rescue nil || {} end |
#yml_exists? ⇒ Boolean
69 70 71 |
# File 'lib/asset_sync/config.rb', line 69 def yml_exists? File.exists?(self.yml_path) end |
#yml_path ⇒ Object
77 78 79 |
# File 'lib/asset_sync/config.rb', line 77 def yml_path File.join(Rails.root, "config/asset_sync.yml") end |