anaconda 0.13.1 → 0.14.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0759b09ee2db44658f9cd59b0b6a2a093c3fc668
4
- data.tar.gz: 15735e51e3373536e940e5e16265f2ffec9b04fd
3
+ metadata.gz: c8e43e86824ee752934096b93a75dec0677d7c25
4
+ data.tar.gz: 53fb76dfe71116cec739ce274896a5bf4bc04a3f
5
5
  SHA512:
6
- metadata.gz: 1cb38146118e3b88ae021ba36296a9ebed795028c52a20173c16d51ac4cd129885cbf38b8d49d56b449f5d03e19814b7b595e2d9f1c095b5ba2e329f818f1b0e
7
- data.tar.gz: a6788cafd904bc2adfa806a0200789c2e5a96e4fe8f6b07cfd13ff1a0b86b507df70cbc050b8e093c42a6a61de38b1aa29da1e18228b7f70a6713b73541b7c90
6
+ metadata.gz: 6c4f6a74a9c8ea7b1721d6265021082e38d1309d5177733bc740e117448b41fe3e5e1e4ba21f4f2b648eeb6d9437bb7b2b809f3100e6edfa46b7b734b59a2b3f
7
+ data.tar.gz: c5187169a46d096c765eaf784d319002684c37a8d6b213be4b37f020952974b2d5e82fe99cab7da56a299612de7c4987517799d4df561e62029cce5462830424
data/README.markdown CHANGED
@@ -176,9 +176,14 @@ We highly recommend the `figaro` gem [https://github.com/laserlemon/figaro](http
176
176
 
177
177
  `asset_url` will return a signed S3 URL if the file is stored with an ACL of `private` and will return a non-signed URL if the file is stored with public access.
178
178
 
179
+ You may pass an options hash to the `asset_url` magic method. At this time, the only supported option is :protocol. Example: `asset_url({protocol: 'http'})` This will override the `protocol` option set in the model.
180
+
179
181
  `asset_download_url` will return a signed S3 URL with content-disposition set to attachment so the file will be downloaded instead of opened in the browser.
180
182
 
181
183
  ## Changelog
184
+ * 0.14.0
185
+ * Add ability to specify protocol in the magic `asset_url` method
186
+
182
187
  * 0.13.1
183
188
  * Use UTC for timestamp in migration files.
184
189
 
@@ -75,7 +75,7 @@ module Anaconda
75
75
  end
76
76
  case checking_method
77
77
  when :url
78
- anaconda_url(checking_column)
78
+ anaconda_url(checking_column, *args)
79
79
  when :download_url
80
80
  anaconda_download_url(checking_column)
81
81
  else
@@ -87,16 +87,19 @@ module Anaconda
87
87
  end
88
88
 
89
89
  private
90
- def anaconda_url(column_name)
90
+ def anaconda_url(column_name, *args)
91
91
  return nil unless send("#{column_name}_file_path").present?
92
+ options = args.extract_options!
93
+ logger.debug "Extracted Options:"
94
+ logger.debug(options)
92
95
 
93
96
  if send("#{column_name}_stored_privately")
94
97
  aws = Fog::Storage.new({:provider => 'AWS', :aws_access_key_id => Anaconda.aws[:aws_access_key], :aws_secret_access_key => Anaconda.aws[:aws_secret_key], :path_style => true})
95
98
  aws.get_object_https_url(Anaconda.aws[:aws_bucket], send("#{column_name}_file_path"), 1.hour.from_now)
96
99
  elsif self.anaconda_options[column_name.to_sym][:host]
97
- "#{anaconda_protocol(column_name)}#{self.anaconda_options[column_name.to_sym][:host]}/#{send("#{column_name}_file_path")}"
100
+ "#{anaconda_protocol(column_name, options[:protocol])}#{self.anaconda_options[column_name.to_sym][:host]}/#{send("#{column_name}_file_path")}"
98
101
  else
99
- "#{anaconda_protocol(column_name)}s3.amazonaws.com/#{Anaconda.aws[:aws_bucket]}/#{send("#{column_name}_file_path")}"
102
+ "#{anaconda_protocol(column_name, options[:protocol])}s3.amazonaws.com/#{Anaconda.aws[:aws_bucket]}/#{send("#{column_name}_file_path")}"
100
103
  end
101
104
  end
102
105
 
@@ -109,7 +112,8 @@ module Anaconda
109
112
 
110
113
  end
111
114
 
112
- def anaconda_protocol(column_name)
115
+ def anaconda_protocol(column_name, override = nil)
116
+ return override if override
113
117
  case self.anaconda_options[column_name.to_sym][:protocol]
114
118
  when :auto
115
119
  "//"
@@ -1,5 +1,5 @@
1
1
  module Anaconda
2
2
  module Rails
3
- VERSION = "0.13.1"
3
+ VERSION = "0.14.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: anaconda
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.1
4
+ version: 0.14.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben McFadden