artwork 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 3e51d5060c17f4737eda437c0f9ce39f16d0ae83
4
+ data.tar.gz: da1b48d509a9ddc8809f8a1f750fbf25d9f9c388
5
+ SHA512:
6
+ metadata.gz: 4db0e6456851055b2c9e952ffe8d57c368978425bc4d5e909436f6e6f59055c5fb28414f0ede41835883f0867ccfcbf30125d603e15097e99ebe287575a7c9a1
7
+ data.tar.gz: 7e1b104e52d173e01e9c1abe5deba6b574f7a22779070fd8918260513f27bbcec87714d457970648f4799283544023244da91336868496c21a04a04c44cc65d1
@@ -1,18 +1,22 @@
1
1
  module Artwork
2
2
  module Configuration
3
3
  def supported_resolutions_list
4
- get_required :supported_resolutions_list
4
+ get(:supported_resolutions_list) or @@supported_resolutions_list or raise "Please set #{__method__}"
5
5
  end
6
6
 
7
7
  def supported_resolutions_list=(resolutions)
8
- set :supported_resolutions_list, resolutions.map(&:to_i).sort
8
+ list = resolutions.map(&:to_i).sort
9
+
10
+ @@supported_resolutions_list ||= list
11
+ set :supported_resolutions_list, list
9
12
  end
10
13
 
11
14
  def default_resolution
12
- get_required :default_resolution
15
+ get(:default_resolution) or @@default_resolution or raise "Please set #{__method__}"
13
16
  end
14
17
 
15
18
  def default_resolution=(resolution)
19
+ @@default_resolution ||= resolution
16
20
  set :default_resolution, resolution
17
21
  end
18
22
 
@@ -52,10 +56,6 @@ module Artwork
52
56
  Thread.current[setting]
53
57
  end
54
58
 
55
- def get_required(setting)
56
- get(setting) or raise "Please set #{name}.#{setting}"
57
- end
58
-
59
59
  def fetch_2x_images_flag_from(request)
60
60
  request.cookies['_retina'].to_i > 0
61
61
  end
@@ -1,3 +1,3 @@
1
1
  module Artwork
2
- VERSION = '0.3.1'
2
+ VERSION = '0.3.2'
3
3
  end
@@ -5,19 +5,59 @@ module Artwork
5
5
  let(:config) { Class.new { extend Configuration } }
6
6
 
7
7
  before :each do
8
- thread_variables = {}
9
- allow(Thread).to receive(:current) { thread_variables }
8
+ [
9
+ :default_resolution, :supported_resolutions_list,
10
+ :current_resolution, :load_2x_images
11
+ ].each do |key|
12
+
13
+ Thread.current[key] = nil
14
+
15
+ end
10
16
  end
11
17
 
12
18
  [:default_resolution, :supported_resolutions_list].each do |option_name|
13
19
  describe "##{option_name}" do
20
+ let(:default_value) { option_name == :supported_resolutions_list ? [1440] : 1440 }
21
+ let(:custom_value) { option_name == :supported_resolutions_list ? [1024] : 1024 }
22
+
14
23
  it 'raises an error if not set' do
15
24
  expect { config.send(option_name) }.to raise_error
16
25
  end
17
26
 
18
- it 'uses Thread.current to store values' do
19
- expect(Thread).to receive(:current).and_return(option_name => 'value')
20
- expect(config.send(option_name)).to eq 'value'
27
+ it 'can be initialized with default value' do
28
+ setter = ->(value) { config.send("#{option_name}=", value) }
29
+ getter = -> { config.send(option_name) }
30
+
31
+ Thread.new { setter.call(default_value) }.join
32
+
33
+ expect(getter.call).to eq default_value
34
+
35
+ Thread.new do
36
+ expect(getter.call).to eq default_value
37
+
38
+ setter.call(custom_value)
39
+
40
+ expect(getter.call).to eq custom_value
41
+ end.join
42
+
43
+ expect(getter.call).to eq default_value
44
+ end
45
+
46
+ it 'does not allow editing of the default value' do
47
+ setter = ->(value) { config.send("#{option_name}=", value) }
48
+ getter = -> { config.send(option_name) }
49
+
50
+ setter.call default_value
51
+
52
+ expect(getter.call).to eq default_value
53
+
54
+ setter.call custom_value
55
+
56
+ expect(getter.call).to eq custom_value
57
+
58
+ Thread.new do
59
+ expect(getter.call).to eq default_value
60
+ end.join
21
61
  end
22
62
  end
23
63
  end
metadata CHANGED
@@ -1,122 +1,109 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: artwork
3
- version: !ruby/object:Gem::Version
4
- hash: 17
5
- prerelease:
6
- segments:
7
- - 0
8
- - 3
9
- - 1
10
- version: 0.3.1
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.3.2
11
5
  platform: ruby
12
- authors:
6
+ authors:
13
7
  - Dimitar Dimitrov
14
8
  autorequire:
15
9
  bindir: bin
16
10
  cert_chain: []
17
-
18
- date: 2014-06-27 00:00:00 +03:00
19
- default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
22
- requirement: &id001 !ruby/object:Gem::Requirement
23
- none: false
24
- requirements:
25
- - - ~>
26
- - !ruby/object:Gem::Version
27
- hash: 3
28
- segments:
29
- - 1
30
- - 6
31
- version: "1.6"
32
- type: :development
33
- version_requirements: *id001
34
- prerelease: false
11
+ date: 2014-07-15 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
35
14
  name: bundler
36
- - !ruby/object:Gem::Dependency
37
- requirement: &id002 !ruby/object:Gem::Requirement
38
- none: false
39
- requirements:
40
- - - ">="
41
- - !ruby/object:Gem::Version
42
- hash: 3
43
- segments:
44
- - 0
45
- version: "0"
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.6'
46
20
  type: :development
47
- version_requirements: *id002
48
21
  prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.6'
27
+ - !ruby/object:Gem::Dependency
49
28
  name: rake
50
- - !ruby/object:Gem::Dependency
51
- requirement: &id003 !ruby/object:Gem::Requirement
52
- none: false
53
- requirements:
54
- - - ~>
55
- - !ruby/object:Gem::Version
56
- hash: 5
57
- segments:
58
- - 3
59
- version: "3"
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
60
34
  type: :development
61
- version_requirements: *id003
62
35
  prerelease: false
63
- name: rspec
64
- - !ruby/object:Gem::Dependency
65
- requirement: &id004 !ruby/object:Gem::Requirement
66
- none: false
67
- requirements:
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
68
38
  - - ">="
69
- - !ruby/object:Gem::Version
70
- hash: 5
71
- segments:
72
- - 2
73
- - 3
74
- version: "2.3"
75
- type: :runtime
76
- version_requirements: *id004
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3'
48
+ type: :development
77
49
  prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3'
55
+ - !ruby/object:Gem::Dependency
78
56
  name: rails
79
- - !ruby/object:Gem::Dependency
80
- requirement: &id005 !ruby/object:Gem::Requirement
81
- none: false
82
- requirements:
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
83
59
  - - ">="
84
- - !ruby/object:Gem::Version
85
- hash: 5
86
- segments:
87
- - 2
88
- - 3
89
- version: "2.3"
60
+ - !ruby/object:Gem::Version
61
+ version: '2.3'
90
62
  type: :runtime
91
- version_requirements: *id005
92
63
  prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '2.3'
69
+ - !ruby/object:Gem::Dependency
93
70
  name: paperclip
94
- - !ruby/object:Gem::Dependency
95
- requirement: &id006 !ruby/object:Gem::Requirement
96
- none: false
97
- requirements:
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
98
73
  - - ">="
99
- - !ruby/object:Gem::Version
100
- hash: 3
101
- segments:
102
- - 0
103
- version: "0"
74
+ - !ruby/object:Gem::Version
75
+ version: '2.3'
104
76
  type: :runtime
105
- version_requirements: *id006
106
77
  prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '2.3'
83
+ - !ruby/object:Gem::Dependency
107
84
  name: uglifier
108
- description: Automated user resolution based image size choosing for your Rails views, but done at the backend.
109
- email:
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ description: Automated user resolution based image size choosing for your Rails views,
98
+ but done at the backend.
99
+ email:
110
100
  - dimitar@live.bg
111
101
  executables: []
112
-
113
102
  extensions: []
114
-
115
103
  extra_rdoc_files: []
116
-
117
- files:
118
- - .gitignore
119
- - .rspec
104
+ files:
105
+ - ".gitignore"
106
+ - ".rspec"
120
107
  - Gemfile
121
108
  - LICENSE.txt
122
109
  - README.md
@@ -138,41 +125,31 @@ files:
138
125
  - spec/artwork/view_spec.rb
139
126
  - spec/artwork_spec.rb
140
127
  - spec/spec_helper.rb
141
- has_rdoc: true
142
128
  homepage: https://github.com/mitio/artwork
143
- licenses:
129
+ licenses:
144
130
  - MIT
131
+ metadata: {}
145
132
  post_install_message:
146
133
  rdoc_options: []
147
-
148
- require_paths:
134
+ require_paths:
149
135
  - lib
150
- required_ruby_version: !ruby/object:Gem::Requirement
151
- none: false
152
- requirements:
136
+ required_ruby_version: !ruby/object:Gem::Requirement
137
+ requirements:
153
138
  - - ">="
154
- - !ruby/object:Gem::Version
155
- hash: 3
156
- segments:
157
- - 0
158
- version: "0"
159
- required_rubygems_version: !ruby/object:Gem::Requirement
160
- none: false
161
- requirements:
139
+ - !ruby/object:Gem::Version
140
+ version: '0'
141
+ required_rubygems_version: !ruby/object:Gem::Requirement
142
+ requirements:
162
143
  - - ">="
163
- - !ruby/object:Gem::Version
164
- hash: 3
165
- segments:
166
- - 0
167
- version: "0"
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
168
146
  requirements: []
169
-
170
147
  rubyforge_project:
171
- rubygems_version: 1.6.2
148
+ rubygems_version: 2.2.2
172
149
  signing_key:
173
- specification_version: 3
150
+ specification_version: 4
174
151
  summary: Automated user resolution based image size choosing for Rails.
175
- test_files:
152
+ test_files:
176
153
  - spec/artwork/configuration_spec.rb
177
154
  - spec/artwork/controller_spec.rb
178
155
  - spec/artwork/model_spec.rb