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
-
#always_upload ⇒ Object
Returns the value of attribute always_upload.
-
#aws_access_key_id ⇒ Object
Amazon AWS.
-
#aws_secret_access_key ⇒ Object
Amazon AWS.
-
#enabled ⇒ Object
Returns the value of attribute enabled.
-
#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.
-
#google_storage_access_key_id ⇒ Object
Google Storage.
-
#google_storage_secret_access_key ⇒ Object
Google Storage.
-
#gzip_compression ⇒ Object
Returns the value of attribute gzip_compression.
-
#ignored_files ⇒ Object
Returns the value of attribute ignored_files.
-
#manifest ⇒ Object
Returns the value of attribute manifest.
-
#prefix ⇒ Object
Returns the value of attribute prefix.
-
#public_path ⇒ Object
Returns the value of attribute public_path.
-
#rackspace_api_key ⇒ Object
Rackspace.
-
#rackspace_auth_url ⇒ Object
Rackspace.
-
#rackspace_username ⇒ Object
Rackspace.
Instance Method Summary collapse
- #assets_prefix ⇒ Object
- #aws? ⇒ Boolean
- #enabled? ⇒ Boolean
- #existing_remote_files? ⇒ Boolean
- #fail_silently? ⇒ Boolean
- #fog_options ⇒ Object
- #google? ⇒ Boolean
- #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.
44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/asset_sync/config.rb', line 44 def initialize self.fog_region = nil self.existing_remote_files = 'keep' self.gzip_compression = false self.manifest = false self.fail_silently = false self.always_upload = [] self.ignored_files = [] self.enabled = true load_yml! if defined?(Rails) && yml_exists? end |
Instance Attribute Details
#always_upload ⇒ Object
Returns the value of attribute always_upload.
12 13 14 |
# File 'lib/asset_sync/config.rb', line 12 def always_upload @always_upload end |
#aws_access_key_id ⇒ Object
Amazon AWS
24 25 26 |
# File 'lib/asset_sync/config.rb', line 24 def aws_access_key_id @aws_access_key_id end |
#aws_secret_access_key ⇒ Object
Amazon AWS
24 25 26 |
# File 'lib/asset_sync/config.rb', line 24 def aws_secret_access_key @aws_secret_access_key end |
#enabled ⇒ Object
Returns the value of attribute enabled.
16 17 18 |
# File 'lib/asset_sync/config.rb', line 16 def enabled @enabled 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’
20 21 22 |
# File 'lib/asset_sync/config.rb', line 20 def fog_directory @fog_directory end |
#fog_provider ⇒ Object
FOG configuration
19 20 21 |
# File 'lib/asset_sync/config.rb', line 19 def fog_provider @fog_provider end |
#fog_region ⇒ Object
e.g. ‘eu-west-1’
21 22 23 |
# File 'lib/asset_sync/config.rb', line 21 def fog_region @fog_region end |
#google_storage_access_key_id ⇒ Object
Google Storage
30 31 32 |
# File 'lib/asset_sync/config.rb', line 30 def google_storage_access_key_id @google_storage_access_key_id end |
#google_storage_secret_access_key ⇒ Object
Google Storage
30 31 32 |
# File 'lib/asset_sync/config.rb', line 30 def google_storage_secret_access_key @google_storage_secret_access_key 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 |
#ignored_files ⇒ Object
Returns the value of attribute ignored_files.
13 14 15 |
# File 'lib/asset_sync/config.rb', line 13 def ignored_files @ignored_files end |
#manifest ⇒ Object
Returns the value of attribute manifest.
10 11 12 |
# File 'lib/asset_sync/config.rb', line 10 def manifest @manifest end |
#prefix ⇒ Object
Returns the value of attribute prefix.
14 15 16 |
# File 'lib/asset_sync/config.rb', line 14 def prefix @prefix end |
#public_path ⇒ Object
Returns the value of attribute public_path.
15 16 17 |
# File 'lib/asset_sync/config.rb', line 15 def public_path @public_path end |
#rackspace_api_key ⇒ Object
Rackspace
27 28 29 |
# File 'lib/asset_sync/config.rb', line 27 def rackspace_api_key @rackspace_api_key end |
#rackspace_auth_url ⇒ Object
Rackspace
27 28 29 |
# File 'lib/asset_sync/config.rb', line 27 def rackspace_auth_url @rackspace_auth_url end |
#rackspace_username ⇒ Object
Rackspace
27 28 29 |
# File 'lib/asset_sync/config.rb', line 27 def rackspace_username @rackspace_username end |
Instance Method Details
#assets_prefix ⇒ Object
102 103 104 105 |
# File 'lib/asset_sync/config.rb', line 102 def assets_prefix # Fix for Issue #38 when Rails.config.assets.prefix starts with a slash self.prefix || Rails.application.config.assets.prefix.sub(/^\//, '') end |
#aws? ⇒ Boolean
70 71 72 |
# File 'lib/asset_sync/config.rb', line 70 def aws? fog_provider == 'AWS' end |
#enabled? ⇒ Boolean
78 79 80 |
# File 'lib/asset_sync/config.rb', line 78 def enabled? enabled == true end |
#existing_remote_files? ⇒ Boolean
66 67 68 |
# File 'lib/asset_sync/config.rb', line 66 def existing_remote_files? ['keep', 'ignore'].include?(self.existing_remote_files) end |
#fail_silently? ⇒ Boolean
74 75 76 |
# File 'lib/asset_sync/config.rb', line 74 def fail_silently? fail_silently == true end |
#fog_options ⇒ Object
144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 |
# File 'lib/asset_sync/config.rb', line 144 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 elsif google? .merge!({ :google_storage_secret_access_key => google_storage_secret_access_key, :google_storage_access_key_id => google_storage_access_key_id }) 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 |
#google? ⇒ Boolean
86 87 88 |
# File 'lib/asset_sync/config.rb', line 86 def google? fog_provider == 'Google' end |
#gzip? ⇒ Boolean
62 63 64 |
# File 'lib/asset_sync/config.rb', line 62 def gzip? self.gzip_compression end |
#load_yml! ⇒ Object
111 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 |
# File 'lib/asset_sync/config.rb', line 111 def load_yml! self.enabled = yml["enabled"] if yml.has_key?('enabled') 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.google_storage_secret_access_key = yml["google_storage_secret_access_key"] self.google_storage_access_key_id = yml["google_storage_access_key_id"] 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") self.always_upload = yml["always_upload"] if yml.has_key?("always_upload") self.ignored_files = yml["ignored_files"] if yml.has_key?("ignored_files") # 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
56 57 58 59 60 |
# File 'lib/asset_sync/config.rb', line 56 def manifest_path directory = Rails.application.config.assets.manifest || default_manifest_directory File.join(directory, "manifest.yml") end |
#rackspace? ⇒ Boolean
82 83 84 |
# File 'lib/asset_sync/config.rb', line 82 def rackspace? fog_provider == 'Rackspace' end |
#yml ⇒ Object
94 95 96 |
# File 'lib/asset_sync/config.rb', line 94 def yml @yml ||= YAML.load(ERB.new(IO.read(yml_path)).result)[Rails.env] rescue nil || {} end |
#yml_exists? ⇒ Boolean
90 91 92 |
# File 'lib/asset_sync/config.rb', line 90 def yml_exists? File.exists?(self.yml_path) end |
#yml_path ⇒ Object
98 99 100 |
# File 'lib/asset_sync/config.rb', line 98 def yml_path Rails.root.join("config", "asset_sync.yml").to_s end |