roadie 1.1.1 → 1.1.2

Sign up to get free protection for your applications and to get access to all the features.
data/Changelog.md CHANGED
@@ -1,14 +1,20 @@
1
1
  ### dev
2
2
 
3
- [full changelog](https://github.com/Mange/roadie/compare/v1.1.1...master)
3
+ [full changelog](https://github.com/Mange/roadie/compare/v1.1.2...master)
4
4
 
5
5
  * Nothing yet
6
6
 
7
+ ### 1.1.2
8
+
9
+ [full changelog](https://github.com/Mange/roadie/compare/v1.1.1...v1.1.2)
10
+
11
+ * Support for Rails 3.1.0 and later inside gemspec
12
+
7
13
  ### 1.1.1
8
14
 
9
15
  [full changelog](https://github.com/Mange/roadie/compare/v1.1.0...v1.1.1)
10
16
 
11
- * Support for Rails 3.1.x (RC4 and later)
17
+ * Support for Rails 3.1.x (up to and including RC4)
12
18
  * Rails 3.0.x is still supported
13
19
  * Added CI via [Travis CI](http://travis-ci.org)
14
20
 
data/Gemfile.lock CHANGED
@@ -1,76 +1,90 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- roadie (1.1.0)
5
- actionmailer (>= 3.0.0)
4
+ roadie (1.1.1)
5
+ actionmailer (~> 3.0)
6
6
  css_parser
7
7
  nokogiri (>= 1.4.4)
8
8
 
9
9
  GEM
10
10
  remote: http://rubygems.org/
11
11
  specs:
12
- abstract (1.0.0)
13
- actionmailer (3.0.3)
14
- actionpack (= 3.0.3)
15
- mail (~> 2.2.9)
16
- actionpack (3.0.3)
17
- activemodel (= 3.0.3)
18
- activesupport (= 3.0.3)
19
- builder (~> 2.1.2)
20
- erubis (~> 2.6.6)
21
- i18n (~> 0.4)
22
- rack (~> 1.2.1)
23
- rack-mount (~> 0.6.13)
24
- rack-test (~> 0.5.6)
25
- tzinfo (~> 0.3.23)
26
- activemodel (3.0.3)
27
- activesupport (= 3.0.3)
28
- builder (~> 2.1.2)
29
- i18n (~> 0.4)
30
- activesupport (3.0.3)
31
- builder (2.1.2)
12
+ actionmailer (3.1.0)
13
+ actionpack (= 3.1.0)
14
+ mail (~> 2.3.0)
15
+ actionpack (3.1.0)
16
+ activemodel (= 3.1.0)
17
+ activesupport (= 3.1.0)
18
+ builder (~> 3.0.0)
19
+ erubis (~> 2.7.0)
20
+ i18n (~> 0.6)
21
+ rack (~> 1.3.2)
22
+ rack-cache (~> 1.0.3)
23
+ rack-mount (~> 0.8.2)
24
+ rack-test (~> 0.6.1)
25
+ sprockets (~> 2.0.0)
26
+ activemodel (3.1.0)
27
+ activesupport (= 3.1.0)
28
+ bcrypt-ruby (~> 3.0.0)
29
+ builder (~> 3.0.0)
30
+ i18n (~> 0.6)
31
+ activesupport (3.1.0)
32
+ multi_json (~> 1.0)
33
+ bcrypt-ruby (3.0.0)
34
+ builder (3.0.0)
32
35
  css_parser (1.1.9)
33
- diff-lcs (1.1.2)
34
- erubis (2.6.6)
35
- abstract (>= 1.0.0)
36
- i18n (0.5.0)
37
- mail (2.2.19)
38
- activesupport (>= 2.3.6)
36
+ diff-lcs (1.1.3)
37
+ erubis (2.7.0)
38
+ hike (1.2.1)
39
+ i18n (0.6.0)
40
+ mail (2.3.0)
39
41
  i18n (>= 0.4.0)
40
42
  mime-types (~> 1.16)
41
43
  treetop (~> 1.4.8)
42
44
  mime-types (1.16)
43
- nokogiri (1.4.4)
45
+ multi_json (1.0.3)
46
+ nokogiri (1.5.0)
44
47
  polyglot (0.3.2)
45
- rack (1.2.1)
46
- rack-mount (0.6.13)
48
+ rack (1.3.2)
49
+ rack-cache (1.0.3)
50
+ rack (>= 0.4)
51
+ rack-mount (0.8.3)
47
52
  rack (>= 1.0.0)
48
- rack-test (0.5.7)
53
+ rack-ssl (1.3.2)
54
+ rack
55
+ rack-test (0.6.1)
49
56
  rack (>= 1.0)
50
- railties (3.0.3)
51
- actionpack (= 3.0.3)
52
- activesupport (= 3.0.3)
57
+ railties (3.1.0)
58
+ actionpack (= 3.1.0)
59
+ activesupport (= 3.1.0)
60
+ rack-ssl (~> 1.3.2)
53
61
  rake (>= 0.8.7)
54
- thor (~> 0.14.4)
55
- rake (0.8.7)
56
- rspec (2.5.0)
57
- rspec-core (~> 2.5.0)
58
- rspec-expectations (~> 2.5.0)
59
- rspec-mocks (~> 2.5.0)
60
- rspec-core (2.5.1)
61
- rspec-expectations (2.5.0)
62
+ rdoc (~> 3.4)
63
+ thor (~> 0.14.6)
64
+ rake (0.9.2)
65
+ rdoc (3.9.4)
66
+ rspec (2.6.0)
67
+ rspec-core (~> 2.6.0)
68
+ rspec-expectations (~> 2.6.0)
69
+ rspec-mocks (~> 2.6.0)
70
+ rspec-core (2.6.4)
71
+ rspec-expectations (2.6.0)
62
72
  diff-lcs (~> 1.1.2)
63
- rspec-mocks (2.5.0)
64
- rspec-rails (2.5.0)
73
+ rspec-mocks (2.6.0)
74
+ rspec-rails (2.6.1)
65
75
  actionpack (~> 3.0)
66
76
  activesupport (~> 3.0)
67
77
  railties (~> 3.0)
68
- rspec (~> 2.5.0)
78
+ rspec (~> 2.6.0)
79
+ sprockets (2.0.0)
80
+ hike (~> 1.2)
81
+ rack (~> 1.0)
82
+ tilt (!= 1.3.0, ~> 1.1)
69
83
  thor (0.14.6)
84
+ tilt (1.3.3)
70
85
  treetop (1.4.10)
71
86
  polyglot
72
87
  polyglot (>= 0.3.1)
73
- tzinfo (0.3.24)
74
88
 
75
89
  PLATFORMS
76
90
  ruby
data/README.md CHANGED
@@ -126,8 +126,8 @@ Bugs / TODO
126
126
  Documentation
127
127
  -------------
128
128
 
129
+ * [Online documentation for 1.1.2](http://rubydoc.info/gems/roadie/1.1.2/frames)
129
130
  * [Online documentation for 1.0.1](http://rubydoc.info/gems/roadie/1.0.1/frames)
130
- * [Online documentation for 1.0.0](http://rubydoc.info/gems/roadie/1.0.0/frames)
131
131
  * [Online documentation for master](http://rubydoc.info/github/Mange/roadie/master/frames)
132
132
  * [Changelog](https://github.com/Mange/roadie/blob/master/Changelog.md)
133
133
 
@@ -2,6 +2,6 @@ source :rubygems
2
2
 
3
3
  gem 'nokogiri', '>= 1.4.4'
4
4
  gem 'css_parser'
5
- gem 'actionmailer', '~> 3.1.0.rc6'
5
+ gem 'actionmailer', '~> 3.1.0'
6
6
 
7
7
  gem 'rspec-rails', :group => :development
@@ -1,3 +1,3 @@
1
1
  module Roadie
2
- VERSION = '1.1.1'
2
+ VERSION = '1.1.2'
3
3
  end
data/roadie.gemspec CHANGED
@@ -16,7 +16,7 @@ Gem::Specification.new do |s|
16
16
 
17
17
  s.add_dependency 'nokogiri', '>= 1.4.4'
18
18
  s.add_dependency 'css_parser'
19
- s.add_dependency 'actionmailer', '>= 3.0.0'
19
+ s.add_dependency 'actionmailer', '~> 3.0'
20
20
 
21
21
  s.add_development_dependency 'rspec-rails', '>= 2.0.0'
22
22
 
@@ -1,4 +1,10 @@
1
1
  body { background: url(../images/dots.png) repeat-x; }
2
2
  #message { background-color: #fff; margin: 0 auto; width: 75%; }
3
3
 
4
- h1 { color: #eee; }
4
+ h1 { color: #eee; }
5
+ strong {
6
+ -moz-box-shadow: #62b0d7 1px 1px 1px 1px inset, #aaaaaa 1px 1px 3px 0;
7
+ -webkit-box-shadow: #62b0d7 1px 1px 1px 1px inset, #aaaaaa 1px 1px 3px 0;
8
+ -o-box-shadow: #62b0d7 1px 1px 1px 1px inset, #aaaaaa 1px 1px 3px 0;
9
+ box-shadow: #62b0d7 1px 1px 1px 1px inset, #aaaaaa 1px 1px 3px 0;
10
+ }
@@ -59,4 +59,13 @@ describe "roadie integration" do
59
59
  email = IntegrationMailer.marketing('everyone@inter.net')
60
60
  email.header['X-Spam'].should be_present
61
61
  end
62
+
63
+ it "applies CSS3 styles" do
64
+ email = IntegrationMailer.notification('doe@example.com', 'your quota limit has been reached')
65
+ document = Nokogiri::HTML.parse(email.html_part.body.decoded)
66
+ strong_node = document.css('strong').first
67
+ stylings = SpecHelpers.styling_of_node(strong_node)
68
+ stylings.should include(['box-shadow', '#62b0d7 1px 1px 1px 1px inset, #aaaaaa 1px 1px 3px 0'])
69
+ stylings.should include(['-o-box-shadow', '#62b0d7 1px 1px 1px 1px inset, #aaaaaa 1px 1px 3px 0'])
70
+ end
62
71
  end
@@ -20,6 +20,16 @@ describe Roadie::Inliner do
20
20
  rendering('<p></p>').should have_styling('color' => 'green')
21
21
  end
22
22
 
23
+ it "inlines browser-prefixed attributes" do
24
+ use_css 'p { -vendor-color: green }'
25
+ rendering('<p></p>').should have_styling('-vendor-color' => 'green')
26
+ end
27
+
28
+ it "inlines CSS3 attributes" do
29
+ use_css 'p { border-radius: 2px; }'
30
+ rendering('<p></p>').should have_styling('border-radius' => '2px')
31
+ end
32
+
23
33
  it "keeps the order of the styles that are inlined" do
24
34
  use_css 'h1 { padding: 2px; margin: 5px; }'
25
35
  rendering('<h1></h1>').should have_styling([['padding', '2px'], ['margin', '5px']])
@@ -18,19 +18,8 @@ RSpec::Matchers.define :have_styling do |rules|
18
18
  failure_message_for_should_not { "expected styles at #{@selector.inspect} to not be #{rules.inspect}" }
19
19
 
20
20
  def parsed_styles(document)
21
- parse_styles(element_style(document))
22
- end
23
-
24
- def element_style(document)
25
21
  node = document.css(@selector).first
26
- node && node['style']
27
- end
28
-
29
- def parse_styles(styles)
30
- return [] if styles.blank?
31
- styles.split(';').inject([]) do |array, item|
32
- array << item.split(':', 2).map(&:strip)
33
- end
22
+ SpecHelpers.styling_of_node(node)
34
23
  end
35
24
  end
36
25
 
@@ -0,0 +1,17 @@
1
+ module SpecHelpers
2
+ class << self
3
+ def styling_of_node(node)
4
+ if node and node['style'].present?
5
+ parse_styling(node['style'])
6
+ else
7
+ []
8
+ end
9
+ end
10
+
11
+ def parse_styling(styles)
12
+ styles.split(';').inject([]) do |array, item|
13
+ array << item.split(':', 2).map(&:strip)
14
+ end
15
+ end
16
+ end
17
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: roadie
3
3
  version: !ruby/object:Gem::Version
4
- hash: 17
4
+ hash: 23
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 1
9
- - 1
10
- version: 1.1.1
9
+ - 2
10
+ version: 1.1.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Magnus Bergmark
@@ -53,14 +53,13 @@ dependencies:
53
53
  requirement: &id003 !ruby/object:Gem::Requirement
54
54
  none: false
55
55
  requirements:
56
- - - ">="
56
+ - - ~>
57
57
  - !ruby/object:Gem::Version
58
58
  hash: 7
59
59
  segments:
60
60
  - 3
61
61
  - 0
62
- - 0
63
- version: 3.0.0
62
+ version: "3.0"
64
63
  type: :runtime
65
64
  version_requirements: *id003
66
65
  - !ruby/object:Gem::Dependency
@@ -128,6 +127,7 @@ files:
128
127
  - spec/support/have_attribute_matcher.rb
129
128
  - spec/support/have_selector_matcher.rb
130
129
  - spec/support/have_styling_matcher.rb
130
+ - spec/support/parse_styling.rb
131
131
  homepage: http://github.com/Mange/roadie
132
132
  licenses: []
133
133
 
@@ -180,3 +180,4 @@ test_files:
180
180
  - spec/support/have_attribute_matcher.rb
181
181
  - spec/support/have_selector_matcher.rb
182
182
  - spec/support/have_styling_matcher.rb
183
+ - spec/support/parse_styling.rb