thousand_island 0.1.0 → 0.1.1

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: 7c954cf1458e611ac4249a9b3a39d8136db0cf14
4
- data.tar.gz: 02b295ba89ca8e95219343ef9414ef648752c4d7
3
+ metadata.gz: d124ef3c8f6577e2ab646f29822113bb3993a6c1
4
+ data.tar.gz: eb39fc513e7ca696213a9987e2a47190e8225064
5
5
  SHA512:
6
- metadata.gz: 8e616580434d106f2629097376c9b97eb602d07e0cd47bd22ca4e081834d48241d025ac9c75569f6aad7d9e109343c6634a95bdcb0ce65656f34669e19234ce9
7
- data.tar.gz: 5a010d76d9bdd237127e6efd91937b218021b41dd358f0aba9b5d2a8aa3c98f4276b50fc56a63187c5dadbc6758ae694f57e29136c9fe9ed8dfd8ed41f62bb12
6
+ metadata.gz: 985e04d2c2c3536e4c4c7c3564203237be097c636ad94d74567e71455aab8461aa31aad66d3fb4e32889c9bbc09e5a31c860c9c21491330e420b90690c737602
7
+ data.tar.gz: b0689c82fa6ba39c03f1816dd6e6c25a8be7ced2e6f39ac4d1cbb4b81bb58a87998d2732fff767483bee2abae0d3ceb336840aa4cdc0723ba8e4d9631eac6122
@@ -99,14 +99,5 @@ module ThousandIsland
99
99
  })
100
100
  end
101
101
 
102
- available_styles = []
103
- instance_methods.grep(/_style$/).each do |method_name|
104
- style = method_name.to_s.sub('_style', '')
105
- available_styles << style.to_sym unless style == 'default'
106
- end
107
- define_method(:available_styles) do
108
- available_styles
109
- end
110
-
111
102
  end
112
103
  end
@@ -98,6 +98,7 @@ module ThousandIsland
98
98
  attr_reader :pdf, :pdf_options
99
99
 
100
100
  def initialize(options={})
101
+ setup_available_styles
101
102
  setup_document_options(options)
102
103
  setup_prawn_document
103
104
  calculate_bounds
@@ -155,6 +156,10 @@ module ThousandIsland
155
156
  end if render_footer?
156
157
  end
157
158
 
159
+ def available_styles
160
+ @available_styles ||= []
161
+ end
162
+
158
163
  private
159
164
 
160
165
  def render_header?
@@ -234,8 +239,6 @@ module ThousandIsland
234
239
  @body ||= body_klass.new(pdf, pdf_options[:body])
235
240
  end
236
241
 
237
-
238
-
239
242
  def deep_merger
240
243
  @deep_merger ||= Utilities::DeepMerge::TemplateOptions
241
244
  end
@@ -276,5 +279,14 @@ module ThousandIsland
276
279
  available_styles.include?(method_name) || super
277
280
  end
278
281
 
282
+ def setup_available_styles
283
+ self.class.instance_methods.grep(/_style$/).each do |method_name|
284
+ style = method_name.to_s.sub('_style', '')
285
+ available_styles << style.to_sym unless style == 'default'
286
+ end
287
+ available_styles.flatten!
288
+ end
289
+
290
+
279
291
  end
280
292
  end
@@ -1,3 +1,3 @@
1
1
  module ThousandIsland
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
@@ -7,10 +7,6 @@ module ThousandIsland
7
7
  end
8
8
  let(:expected_styles) { [:h1, :h2, :h3, :h4, :h5, :h6, :body, :footer] }
9
9
 
10
- it 'builds the available styles array' do
11
- expect(subject.available_styles).to match_array(expected_styles)
12
- end
13
-
14
10
  it 'has a style method for every style' do
15
11
  expected_styles.each do |s|
16
12
  expect(subject.send("#{s}_style")).to be_a(StyleHash)
@@ -145,5 +145,18 @@ module ThousandIsland
145
145
  end
146
146
  end
147
147
 
148
+
149
+ describe 'magic methods' do
150
+ it 'gets added to the available styles' do
151
+ class DummyTemplate < ThousandIsland::Template
152
+ include ThousandIsland::StyleSheet
153
+ def added_style; end
154
+ end
155
+ dummy = DummyTemplate.new
156
+ expect(dummy.available_styles).to include(:added)
157
+ end
158
+
159
+ end
160
+
148
161
  end
149
162
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: thousand_island
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Colin Weight
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-09 00:00:00.000000000 Z
11
+ date: 2014-11-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: prawn