thousand_island 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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