psd-enginedata 0.2.3 → 1.0.0

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: 1957969e897d576400ab12b55602144ed46d35cf
4
+ data.tar.gz: 62f0f5c777a3abdd50090ebfeb5a94b4a01a2dff
5
+ SHA512:
6
+ metadata.gz: 425deaa7d82ddce71ce370648481a1414c34b5ca80610598591240f023690df82a0f415c2c6725d128ed207e0cac73e3010039272b983adc0b278428c0320428
7
+ data.tar.gz: 32b3e197b45ce9b132cb4555be9e9a160800abe6e44ea44ef4e15159b09f57c16bcd89d8a6263c1303104472acc033f631e5bc64de37da59246c9c191dd40e32
@@ -18,7 +18,6 @@ class PSD
18
18
  alias :result :node
19
19
 
20
20
  include DocumentHelpers
21
- include Export
22
21
 
23
22
  # All of the instructions as defined by the EngineData spec.
24
23
  INSTRUCTIONS = [
@@ -1,6 +1,6 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
  class PSD
3
3
  class EngineData
4
- VERSION = "0.2.3"
4
+ VERSION = "1.0.0"
5
5
  end
6
6
  end
@@ -7,18 +7,19 @@ describe 'Parser' do
7
7
  end
8
8
 
9
9
  it "is ready to parse" do
10
- @parser.text.should_not be_nil
11
- @parser.parsed?.should be_false
10
+ expect(@parser.text).to_not be_nil
11
+ expect(@parser).to_not be_parsed
12
12
  end
13
13
 
14
14
  it "does not error when parsing" do
15
15
  @parser.parse!
16
- @parser.parsed?.should be_true
16
+ expect(@parser).to be_parsed
17
17
  end
18
18
 
19
19
  it "contains the proper data" do
20
20
  @parser.parse!
21
- @parser.result.EngineDict.Editor.Text.should == "Make a change and save."
22
- @parser.result.ResourceDict.FontSet.first.Name.should == "HelveticaNeue-Light"
21
+
22
+ expect(@parser.result.EngineDict.Editor.Text).to eq("Make a change and save.")
23
+ expect(@parser.result.ResourceDict.FontSet.first.Name).to eq("HelveticaNeue-Light")
23
24
  end
24
25
  end
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: psd-enginedata
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
5
- prerelease:
4
+ version: 1.0.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Ryan LeFevre
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-07-30 00:00:00.000000000 Z
11
+ date: 2013-08-25 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: hashie
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ~>
28
25
  - !ruby/object:Gem::Version
@@ -30,7 +27,6 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: bundler
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ~>
36
32
  - !ruby/object:Gem::Version
@@ -38,7 +34,6 @@ dependencies:
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - ~>
44
39
  - !ruby/object:Gem::Version
@@ -46,71 +41,62 @@ dependencies:
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: rake
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - '>='
52
46
  - !ruby/object:Gem::Version
53
47
  version: '0'
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ! '>='
52
+ - - '>='
60
53
  - !ruby/object:Gem::Version
61
54
  version: '0'
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: rspec
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
- - - ! '>='
59
+ - - '>='
68
60
  - !ruby/object:Gem::Version
69
61
  version: '0'
70
62
  type: :development
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
- - - ! '>='
66
+ - - '>='
76
67
  - !ruby/object:Gem::Version
77
68
  version: '0'
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: guard
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
- - - ! '>='
73
+ - - '>='
84
74
  - !ruby/object:Gem::Version
85
75
  version: '0'
86
76
  type: :development
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
- - - ! '>='
80
+ - - '>='
92
81
  - !ruby/object:Gem::Version
93
82
  version: '0'
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: guard-rspec
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
- - - ! '>='
87
+ - - '>='
100
88
  - !ruby/object:Gem::Version
101
89
  version: '0'
102
90
  type: :development
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
- - - ! '>='
94
+ - - '>='
108
95
  - !ruby/object:Gem::Version
109
96
  version: '0'
110
97
  - !ruby/object:Gem::Dependency
111
98
  name: rb-fsevent
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
101
  - - ~>
116
102
  - !ruby/object:Gem::Version
@@ -118,7 +104,6 @@ dependencies:
118
104
  type: :development
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
107
  requirements:
123
108
  - - ~>
124
109
  - !ruby/object:Gem::Version
@@ -140,8 +125,6 @@ files:
140
125
  - lib/psd/enginedata.rb
141
126
  - lib/psd/enginedata/document_helpers.rb
142
127
  - lib/psd/enginedata/errors.rb
143
- - lib/psd/enginedata/export.rb
144
- - lib/psd/enginedata/exporters/css.rb
145
128
  - lib/psd/enginedata/instruction.rb
146
129
  - lib/psd/enginedata/instructions/boolean.rb
147
130
  - lib/psd/enginedata/instructions/hash_end.rb
@@ -161,38 +144,34 @@ files:
161
144
  - psd-enginedata.gemspec
162
145
  - spec/files/enginedata
163
146
  - spec/files/enginedata_simple
164
- - spec/integration/export_spec.rb
165
147
  - spec/integration/parser_spec.rb
166
148
  - spec/spec_helper.rb
167
149
  homepage: http://cosmos.layervault.com/psdrb.html
168
150
  licenses:
169
151
  - MIT
152
+ metadata: {}
170
153
  post_install_message:
171
154
  rdoc_options: []
172
155
  require_paths:
173
156
  - lib
174
157
  required_ruby_version: !ruby/object:Gem::Requirement
175
- none: false
176
158
  requirements:
177
- - - ! '>='
159
+ - - '>='
178
160
  - !ruby/object:Gem::Version
179
161
  version: '0'
180
162
  required_rubygems_version: !ruby/object:Gem::Requirement
181
- none: false
182
163
  requirements:
183
- - - ! '>='
164
+ - - '>='
184
165
  - !ruby/object:Gem::Version
185
166
  version: '0'
186
167
  requirements: []
187
168
  rubyforge_project:
188
- rubygems_version: 1.8.23
169
+ rubygems_version: 2.0.3
189
170
  signing_key:
190
- specification_version: 3
171
+ specification_version: 4
191
172
  summary: Parser for the markup format used in the PSD file format
192
173
  test_files:
193
174
  - spec/files/enginedata
194
175
  - spec/files/enginedata_simple
195
- - spec/integration/export_spec.rb
196
176
  - spec/integration/parser_spec.rb
197
177
  - spec/spec_helper.rb
198
- has_rdoc:
@@ -1,8 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
- class PSD
3
- class EngineData
4
- module Export #:nodoc:
5
- include CSS
6
- end
7
- end
8
- end
@@ -1,65 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
- class PSD
3
- class EngineData
4
- module Export
5
- # Exports the document to a CSS string.
6
- module CSS
7
- # Creates the CSS string and returns it. Each property is newline separated
8
- # and not all properties may be present depending on the document.
9
- #
10
- # Colors are returned in rgba() format and fonts may include some internal
11
- # Photoshop fonts.
12
- def to_css
13
- parse! unless parsed?
14
-
15
- definition = {}
16
- definition.merge! font_family
17
- definition.merge! font_size
18
- definition.merge! font_color
19
-
20
- css = []
21
- definition.each do |k, v|
22
- css << "#{k}: #{v};"
23
- end
24
-
25
- css.join("\n")
26
- end
27
-
28
- private
29
-
30
- def font_family
31
- font = result.ResourceDict.FontSet.map { |f| %{"#{f.Name}"} }.join(', ')
32
-
33
- {
34
- 'font-family' => font
35
- }
36
- end
37
-
38
- def font_size
39
- {
40
- 'font-size' => "#{styles.FontSize}pt"
41
- }
42
- end
43
-
44
- def font_color
45
- return {} unless styles.key?('FillColor')
46
-
47
- color = styles.FillColor.Values.map { |c| (c * 255).round }
48
- if color.length == 3
49
- alpha = 255
50
- else
51
- alpha = color.shift
52
- end
53
-
54
- {
55
- 'color' => "rgba(#{color.join(', ')}, #{alpha})"
56
- }
57
- end
58
-
59
- def styles
60
- result.EngineDict.StyleRun.RunArray[0].StyleSheet.StyleSheetData
61
- end
62
- end
63
- end
64
- end
65
- end
@@ -1,35 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
- require 'spec_helper'
3
-
4
- describe 'Exporting' do
5
- before(:each) do
6
- @parser = PSD::EngineData.load('spec/files/enginedata')
7
- @parser.parse!
8
- end
9
-
10
- describe 'to css' do
11
- it "is possible" do
12
- @parser.respond_to?(:to_css)
13
- @parser.to_css
14
- end
15
-
16
- it "includes all customization values" do
17
- css = @parser.to_css
18
-
19
- css.should include "font-family"
20
- css.should include "font-size"
21
- css.should include "color"
22
- end
23
-
24
- it "produces valid code" do
25
- css = @parser.to_css
26
-
27
- # All lines end with semicolons
28
- css.split("\n").each { |l| l[-1].should == ";" }
29
-
30
- # Produces the correct and valid RGBA value
31
- match = /rgba\((\d+), (\d+), (\d+), (\d+)\)/i.match(css)
32
- match[1..-1].should == ['19', '120', '98', '255']
33
- end
34
- end
35
- end