foundation_rails_helper 0.1.alpha → 0.2
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.
- data/.gitignore +1 -0
- data/.travis.yml +2 -0
- data/README.md +18 -7
- data/foundation_rails_helper.gemspec +1 -0
- data/lib/foundation_rails_helper/action_view_extension.rb +3 -0
- data/lib/foundation_rails_helper/flash_helper.rb +2 -2
- data/lib/foundation_rails_helper/form_builder.rb +15 -3
- data/lib/foundation_rails_helper/version.rb +1 -1
- data/spec/foundation_rails_helper/flash_spec.rb +23 -0
- data/spec/foundation_rails_helper/form_builder_spec.rb +87 -9
- data/spec/spec_helper.rb +2 -105
- data/spec/support/mock_rails.rb +104 -0
- metadata +27 -12
- data/.rbenv-gemsets +0 -1
data/.gitignore
CHANGED
data/.travis.yml
ADDED
data/README.md
CHANGED
@@ -1,22 +1,33 @@
|
|
1
|
-
|
1
|
+
# FoundationRailsHelper [](http://travis-ci.org/sgruhier/foundation_rails_helper)
|
2
2
|
|
3
|
+
Gem for rails 3 application that uses the excellent Zurb Foundation framework.
|
3
4
|
|
4
|
-
|
5
|
+
* [Zurb Foundation](https://github.com/zurb/foundation)
|
6
|
+
* [Zurb Foundation Rails](https://github.com/zurb/foundation-rails)
|
5
7
|
|
6
|
-
Gem for rails 3 application that uses the excellent Zurb Foundation framework.
|
7
8
|
It includes so far
|
8
9
|
|
9
10
|
* A custum FormBuilder to generate form with Foundation framework. It replaces the current `form_for` so you don't have to
|
10
11
|
change your rails code.
|
11
12
|
Errors messages are propertly displayed
|
12
|
-
* A `
|
13
|
+
* A `display_flash_messages` helper method to use Zurb Foundation Alerts UI
|
13
14
|
|
14
|
-
|
15
|
+
I use this gem only been with Rails 3.1 and ruby 1.9.2. It should work for Rails 3.0.
|
15
16
|
|
16
17
|
## Screenshots
|
17
18
|
|
18
19
|
A classic devise sign up views will look like this:
|
19
20
|
|
21
|
+
```erb
|
22
|
+
<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %>
|
23
|
+
<%= f.email_field :email %>
|
24
|
+
<%= f.password_field :password %>
|
25
|
+
<%= f.password_field :password_confirmation %>
|
26
|
+
|
27
|
+
<%= f.submit "S'enregistrer" %>
|
28
|
+
<% end %>
|
29
|
+
```
|
30
|
+
|
20
31
|

|
21
32
|
|
22
33
|
With errors
|
@@ -41,9 +52,9 @@ And then execute:
|
|
41
52
|
|
42
53
|
## Usage
|
43
54
|
|
44
|
-
|
55
|
+
For form helpers, nothing to do,
|
45
56
|
|
46
|
-
To get access to `
|
57
|
+
To get access to `display_flash_messages` in your views add in your `app/helpers/application_helper.rb` file
|
47
58
|
|
48
59
|
```
|
49
60
|
include FoundationRailsHelper::FlashHelper
|
@@ -12,10 +12,10 @@ module FoundationRailsHelper
|
|
12
12
|
:failure => :error,
|
13
13
|
:alert => :error,
|
14
14
|
}
|
15
|
-
def
|
15
|
+
def display_flash_messages
|
16
16
|
flash.inject "" do |message, (key, value)|
|
17
17
|
message += content_tag :div, :class => "alert-box #{KEY_MATCHING[key] || key}" do
|
18
|
-
(value + link_to("
|
18
|
+
(value + link_to("x", "#", :class => :close)).html_safe
|
19
19
|
end
|
20
20
|
end.html_safe
|
21
21
|
end
|
@@ -15,6 +15,19 @@ module FoundationRailsHelper
|
|
15
15
|
end
|
16
16
|
end
|
17
17
|
|
18
|
+
def check_box(attribute, options = {})
|
19
|
+
l = label(attribute, options)
|
20
|
+
c = super(attribute, options)
|
21
|
+
l.gsub(/(for=\"\w*\"\>)/, "\\1#{c} ").html_safe
|
22
|
+
end
|
23
|
+
|
24
|
+
def radio_button(attribute, tag_value, options = {})
|
25
|
+
options[:for] ||= "#{object.class.to_s.downcase}_#{attribute}_#{tag_value}"
|
26
|
+
l = label(attribute, options)
|
27
|
+
c = super(attribute, tag_value, options)
|
28
|
+
l.gsub(/(for=\"\w*\"\>)/, "\\1#{c} ").html_safe
|
29
|
+
end
|
30
|
+
|
18
31
|
def password_field(attribute, options = {})
|
19
32
|
field attribute, options do |class_name|
|
20
33
|
super(attribute, :class => class_name, :autocomplete => :off)
|
@@ -23,7 +36,7 @@ module FoundationRailsHelper
|
|
23
36
|
|
24
37
|
def datetime_select(attribute, options = {})
|
25
38
|
field attribute, options do |class_name|
|
26
|
-
super(attribute, {
|
39
|
+
super(attribute, {}, :class => class_name, :autocomplete => :off)
|
27
40
|
end
|
28
41
|
end
|
29
42
|
|
@@ -47,7 +60,6 @@ module FoundationRailsHelper
|
|
47
60
|
super(value, options)
|
48
61
|
end
|
49
62
|
|
50
|
-
|
51
63
|
private
|
52
64
|
def custom_label(attribute, text = nil)
|
53
65
|
has_error = !object.errors[attribute].blank?
|
@@ -63,7 +75,7 @@ module FoundationRailsHelper
|
|
63
75
|
|
64
76
|
def field(attribute, options, &block)
|
65
77
|
html = custom_label(attribute, options[:label])
|
66
|
-
html += yield("#{options[:class] || "medium"} input-text
|
78
|
+
html += yield("#{options[:class] || "medium"} input-text")
|
67
79
|
html += error_and_hint(attribute)
|
68
80
|
end
|
69
81
|
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe "FoundationRailsHelper::FlashHelper" do
|
4
|
+
include ActionView::Context if defined?(ActionView::Context)
|
5
|
+
include ActionView::Helpers::UrlHelper
|
6
|
+
include ActionView::Helpers::TagHelper
|
7
|
+
include FoundationRailsHelper::FlashHelper
|
8
|
+
|
9
|
+
%w(error warning success).each do |message_type|
|
10
|
+
it "should display a flash for #{message_type} message" do
|
11
|
+
self.stub!(:flash).and_return({message_type => "Error message"})
|
12
|
+
node = Capybara.string display_flash_messages
|
13
|
+
node.should have_css("div.alert-box.#{message_type}", :text => "Error message")
|
14
|
+
node.should have_css("div.alert-box a.close", :text => "x")
|
15
|
+
|
16
|
+
end
|
17
|
+
end
|
18
|
+
it "should use flash key matching" do
|
19
|
+
self.stub!(:flash).and_return({:notice => "Error message"})
|
20
|
+
node = Capybara.string display_flash_messages
|
21
|
+
node.should have_css("div.alert-box.success")
|
22
|
+
end
|
23
|
+
end
|
@@ -12,16 +12,94 @@ describe "FoundationRailsHelper::FormHelper" do
|
|
12
12
|
builder.class.should == FoundationRailsHelper::FormBuilder
|
13
13
|
end
|
14
14
|
end
|
15
|
+
|
16
|
+
describe "input generators" do
|
17
|
+
it "should generate text_field input" do
|
18
|
+
form_for(@author) do |builder|
|
19
|
+
node = Capybara.string builder.text_field(:login)
|
20
|
+
node.should have_css('label[for="author_login"]', :text => "Login")
|
21
|
+
node.should have_css('input.medium.input-text[type="text"][name="author[login]"]')
|
22
|
+
node.find_field('author_login').value.should == @author.login
|
23
|
+
end
|
24
|
+
end
|
15
25
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
26
|
+
it "should generate password_field input" do
|
27
|
+
form_for(@author) do |builder|
|
28
|
+
node = Capybara.string builder.password_field(:password)
|
29
|
+
node.should have_css('label[for="author_password"]', :text => "Password")
|
30
|
+
node.should have_css('input.medium.input-text[type="password"][name="author[password]"]')
|
31
|
+
node.find_field('author_password').value.should be_nil
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
it "should generate email_field input" do
|
36
|
+
form_for(@author) do |builder|
|
37
|
+
node = Capybara.string builder.email_field(:email)
|
38
|
+
node.should have_css('label[for="author_email"]', :text => "Email")
|
39
|
+
node.should have_css('input.medium.input-text[type="email"][name="author[email]"]')
|
40
|
+
node.find_field('author_email').value.should == @author.email
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
it "should generate text_area input" do
|
45
|
+
form_for(@author) do |builder|
|
46
|
+
node = Capybara.string builder.text_area(:description)
|
47
|
+
node.should have_css('label[for="author_description"]', :text => "Description")
|
48
|
+
node.should have_css('textarea.medium.input-text[name="author[description]"]')
|
49
|
+
node.find_field('author_description').value.should == @author.description
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
it "should generate file_field input" do
|
54
|
+
form_for(@author) do |builder|
|
55
|
+
node = Capybara.string builder.file_field(:avatar)
|
56
|
+
node.should have_css('label[for="author_avatar"]', :text => "Avatar")
|
57
|
+
node.should have_css('input.medium.input-text[type="file"][name="author[avatar]"]')
|
58
|
+
node.find_field('author_avatar').value.should be_nil
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
it "should generate check_box input" do
|
63
|
+
form_for(@author) do |builder|
|
64
|
+
node = Capybara.string builder.check_box(:active)
|
65
|
+
node.should have_css('label[for="author_active"] input[type="hidden"][name="author[active]"][value="0"]')
|
66
|
+
node.should have_css('label[for="author_active"] input[type="checkbox"][name="author[active]"]')
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
it "should generate radio_button input" do
|
71
|
+
form_for(@author) do |builder|
|
72
|
+
node = Capybara.string builder.radio_button(:active, "ok")
|
73
|
+
node.should have_css('label[for="author_active_ok"] input[type="radio"][name="author[active]"]')
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
it "should generate date_select input" do
|
78
|
+
form_for(@author) do |builder|
|
79
|
+
node = Capybara.string builder.date_select(:birthdate)
|
80
|
+
node.should have_css('label[for="author_birthdate"]', :text => "Birthdate")
|
81
|
+
%w(1 2 3).each {|i| node.should have_css("select.medium.input-text[name='author[birthdate(#{i}i)]']") }
|
82
|
+
node.should have_css('select#author_birthdate_1i option[selected="selected"][value="1969"]')
|
83
|
+
node.should have_css('select#author_birthdate_2i option[selected="selected"][value="6"]')
|
84
|
+
node.should have_css('select#author_birthdate_3i option[selected="selected"][value="18"]')
|
85
|
+
%w(4 5).each {|i| node.should_not have_css("select.medium.input-text[name='author[birthdate(#{i}i)]']") }
|
86
|
+
end
|
87
|
+
end
|
25
88
|
end
|
26
89
|
|
90
|
+
describe "errors generator" do
|
91
|
+
it "should not display errors" do
|
92
|
+
form_for(@author) do |builder|
|
93
|
+
node = Capybara.string builder.text_field(:login)
|
94
|
+
node.should_not have_css('small.error')
|
95
|
+
end
|
96
|
+
end
|
97
|
+
it "should display errors" do
|
98
|
+
form_for(@author) do |builder|
|
99
|
+
@author.stub!(:errors).and_return({:login => ['required']})
|
100
|
+
node = Capybara.string builder.text_field(:login)
|
101
|
+
node.should have_css('small.error', :text => "required")
|
102
|
+
end
|
103
|
+
end
|
104
|
+
end
|
27
105
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,106 +1,3 @@
|
|
1
|
-
require
|
2
|
-
require 'active_support'
|
3
|
-
require 'action_pack'
|
4
|
-
require 'action_view'
|
5
|
-
require 'action_controller'
|
6
|
-
require 'action_dispatch'
|
1
|
+
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
|
7
2
|
require "foundation_rails_helper"
|
8
|
-
|
9
|
-
# Thanks to Justin French for formtastic spec
|
10
|
-
module FoundationRailsSpecHelper
|
11
|
-
include ActionPack
|
12
|
-
include ActionView::Context if defined?(ActionView::Context)
|
13
|
-
include ActionController::RecordIdentifier
|
14
|
-
include ActionView::Helpers::FormHelper
|
15
|
-
include ActionView::Helpers::FormTagHelper
|
16
|
-
include ActionView::Helpers::FormOptionsHelper
|
17
|
-
include ActionView::Helpers::UrlHelper
|
18
|
-
include ActionView::Helpers::TagHelper
|
19
|
-
include ActionView::Helpers::TextHelper
|
20
|
-
include ActionView::Helpers::ActiveRecordHelper if defined?(ActionView::Helpers::ActiveRecordHelper)
|
21
|
-
include ActionView::Helpers::ActiveModelHelper if defined?(ActionView::Helpers::ActiveModelHelper)
|
22
|
-
include ActionView::Helpers::DateHelper
|
23
|
-
include ActionView::Helpers::CaptureHelper
|
24
|
-
include ActionView::Helpers::AssetTagHelper
|
25
|
-
include ActiveSupport
|
26
|
-
include ActionController::PolymorphicRoutes if defined?(ActionController::PolymorphicRoutes)
|
27
|
-
|
28
|
-
def active_model_validator(kind, attributes, options = {})
|
29
|
-
validator = mock("ActiveModel::Validations::#{kind.to_s.titlecase}Validator", :attributes => attributes, :options => options)
|
30
|
-
validator.stub!(:kind).and_return(kind)
|
31
|
-
validator
|
32
|
-
end
|
33
|
-
|
34
|
-
def active_model_presence_validator(attributes, options = {})
|
35
|
-
active_model_validator(:presence, attributes, options)
|
36
|
-
end
|
37
|
-
|
38
|
-
def active_model_length_validator(attributes, options = {})
|
39
|
-
active_model_validator(:length, attributes, options)
|
40
|
-
end
|
41
|
-
|
42
|
-
def active_model_inclusion_validator(attributes, options = {})
|
43
|
-
active_model_validator(:inclusion, attributes, options)
|
44
|
-
end
|
45
|
-
|
46
|
-
def active_model_numericality_validator(attributes, options = {})
|
47
|
-
active_model_validator(:numericality, attributes, options)
|
48
|
-
end
|
49
|
-
|
50
|
-
class ::Author
|
51
|
-
extend ActiveModel::Naming if defined?(ActiveModel::Naming)
|
52
|
-
include ActiveModel::Conversion if defined?(ActiveModel::Conversion)
|
53
|
-
|
54
|
-
def to_label
|
55
|
-
end
|
56
|
-
|
57
|
-
def persisted?
|
58
|
-
end
|
59
|
-
end
|
60
|
-
|
61
|
-
def mock_everything
|
62
|
-
# Resource-oriented styles like form_for(@post) will expect a path method for the object,
|
63
|
-
# so we're defining some here.
|
64
|
-
def author_path(*args); "/authors/1"; end
|
65
|
-
def authors_path(*args); "/authors"; end
|
66
|
-
def new_author_path(*args); "/authors/new"; end
|
67
|
-
|
68
|
-
@author = ::Author.new
|
69
|
-
@author.stub!(:class).and_return(::Author)
|
70
|
-
@author.stub!(:to_label).and_return('Fred Smith')
|
71
|
-
@author.stub!(:login).and_return('fred_smith')
|
72
|
-
@author.stub!(:age).and_return(27)
|
73
|
-
@author.stub!(:id).and_return(37)
|
74
|
-
@author.stub!(:new_record?).and_return(false)
|
75
|
-
@author.stub!(:errors).and_return(mock('errors', :[] => nil))
|
76
|
-
@author.stub!(:to_key).and_return(nil)
|
77
|
-
@author.stub!(:persisted?).and_return(nil)
|
78
|
-
@author.stub!(:name).and_return('Fred')
|
79
|
-
|
80
|
-
::Author.stub!(:scoped).and_return(::Author)
|
81
|
-
::Author.stub!(:find).and_return([@author])
|
82
|
-
::Author.stub!(:all).and_return([@author])
|
83
|
-
::Author.stub!(:where).and_return([@author])
|
84
|
-
::Author.stub!(:human_attribute_name).and_return { |column_name| column_name.humanize }
|
85
|
-
::Author.stub!(:human_name).and_return('::Author')
|
86
|
-
::Author.stub!(:reflect_on_association).and_return { |column_name| mock('reflection', :options => {}, :klass => Post,
|
87
|
-
:macro => :has_many) if column_name == :posts }
|
88
|
-
::Author.stub!(:content_columns).and_return([mock('column', :name => 'login'), mock('column', :name => 'created_at')])
|
89
|
-
::Author.stub!(:to_key).and_return(nil)
|
90
|
-
::Author.stub!(:persisted?).and_return(nil)
|
91
|
-
end
|
92
|
-
|
93
|
-
def self.included(base)
|
94
|
-
base.class_eval do
|
95
|
-
attr_accessor :output_buffer
|
96
|
-
|
97
|
-
def protect_against_forgery?
|
98
|
-
false
|
99
|
-
end
|
100
|
-
|
101
|
-
# def _helpers
|
102
|
-
# FakeHelpersModule
|
103
|
-
# end
|
104
|
-
end
|
105
|
-
end
|
106
|
-
end
|
3
|
+
require "capybara"
|
@@ -0,0 +1,104 @@
|
|
1
|
+
require 'rails'
|
2
|
+
require 'active_support'
|
3
|
+
require 'action_pack'
|
4
|
+
require 'action_view'
|
5
|
+
require 'action_controller'
|
6
|
+
require 'action_dispatch'
|
7
|
+
|
8
|
+
# Thanks to Justin French for formtastic spec
|
9
|
+
module FoundationRailsSpecHelper
|
10
|
+
include ActionPack
|
11
|
+
include ActionView::Context if defined?(ActionView::Context)
|
12
|
+
include ActionController::RecordIdentifier
|
13
|
+
include ActionView::Helpers::FormHelper
|
14
|
+
include ActionView::Helpers::FormTagHelper
|
15
|
+
include ActionView::Helpers::FormOptionsHelper
|
16
|
+
include ActionView::Helpers::UrlHelper
|
17
|
+
include ActionView::Helpers::TagHelper
|
18
|
+
include ActionView::Helpers::TextHelper
|
19
|
+
include ActionView::Helpers::ActiveRecordHelper if defined?(ActionView::Helpers::ActiveRecordHelper)
|
20
|
+
include ActionView::Helpers::ActiveModelHelper if defined?(ActionView::Helpers::ActiveModelHelper)
|
21
|
+
include ActionView::Helpers::DateHelper
|
22
|
+
include ActionView::Helpers::CaptureHelper
|
23
|
+
include ActionView::Helpers::AssetTagHelper
|
24
|
+
include ActiveSupport
|
25
|
+
include ActionController::PolymorphicRoutes if defined?(ActionController::PolymorphicRoutes)
|
26
|
+
|
27
|
+
def active_model_validator(kind, attributes, options = {})
|
28
|
+
validator = mock("ActiveModel::Validations::#{kind.to_s.titlecase}Validator", :attributes => attributes, :options => options)
|
29
|
+
validator.stub!(:kind).and_return(kind)
|
30
|
+
validator
|
31
|
+
end
|
32
|
+
|
33
|
+
def active_model_presence_validator(attributes, options = {})
|
34
|
+
active_model_validator(:presence, attributes, options)
|
35
|
+
end
|
36
|
+
|
37
|
+
def active_model_length_validator(attributes, options = {})
|
38
|
+
active_model_validator(:length, attributes, options)
|
39
|
+
end
|
40
|
+
|
41
|
+
def active_model_inclusion_validator(attributes, options = {})
|
42
|
+
active_model_validator(:inclusion, attributes, options)
|
43
|
+
end
|
44
|
+
|
45
|
+
def active_model_numericality_validator(attributes, options = {})
|
46
|
+
active_model_validator(:numericality, attributes, options)
|
47
|
+
end
|
48
|
+
|
49
|
+
class ::Author
|
50
|
+
extend ActiveModel::Naming if defined?(ActiveModel::Naming)
|
51
|
+
include ActiveModel::Conversion if defined?(ActiveModel::Conversion)
|
52
|
+
|
53
|
+
def to_label
|
54
|
+
end
|
55
|
+
|
56
|
+
def persisted?
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
def mock_everything
|
61
|
+
# Resource-oriented styles like form_for(@post) will expect a path method for the object,
|
62
|
+
# so we're defining some here.
|
63
|
+
def author_path(*args); "/authors/1"; end
|
64
|
+
def authors_path(*args); "/authors"; end
|
65
|
+
def new_author_path(*args); "/authors/new"; end
|
66
|
+
|
67
|
+
@author = ::Author.new
|
68
|
+
@author.stub!(:class).and_return(::Author)
|
69
|
+
@author.stub!(:to_label).and_return('Fred Smith')
|
70
|
+
@author.stub!(:login).and_return('fred_smith')
|
71
|
+
@author.stub!(:email).and_return('fred@foo.com')
|
72
|
+
@author.stub!(:password).and_return('secret')
|
73
|
+
@author.stub!(:active).and_return(true)
|
74
|
+
@author.stub!(:description).and_return('bla bla bla')
|
75
|
+
@author.stub!(:avatar).and_return('avatar.png')
|
76
|
+
@author.stub!(:birthdate).and_return(Date.parse("1969-06-18 20:30"))
|
77
|
+
@author.stub!(:id).and_return(37)
|
78
|
+
@author.stub!(:new_record?).and_return(false)
|
79
|
+
@author.stub!(:errors).and_return(mock('errors', :[] => nil))
|
80
|
+
@author.stub!(:to_key).and_return(nil)
|
81
|
+
@author.stub!(:persisted?).and_return(nil)
|
82
|
+
|
83
|
+
::Author.stub!(:scoped).and_return(::Author)
|
84
|
+
::Author.stub!(:find).and_return([@author])
|
85
|
+
::Author.stub!(:all).and_return([@author])
|
86
|
+
::Author.stub!(:where).and_return([@author])
|
87
|
+
::Author.stub!(:human_attribute_name).and_return { |column_name| column_name.humanize }
|
88
|
+
::Author.stub!(:human_name).and_return('::Author')
|
89
|
+
::Author.stub!(:content_columns).and_return([mock('column', :name => 'login'), mock('column', :name => 'created_at')])
|
90
|
+
::Author.stub!(:to_key).and_return(nil)
|
91
|
+
::Author.stub!(:persisted?).and_return(nil)
|
92
|
+
end
|
93
|
+
|
94
|
+
def self.included(base)
|
95
|
+
base.class_eval do
|
96
|
+
attr_accessor :output_buffer
|
97
|
+
|
98
|
+
def protect_against_forgery?
|
99
|
+
false
|
100
|
+
end
|
101
|
+
|
102
|
+
end
|
103
|
+
end
|
104
|
+
end
|
metadata
CHANGED
@@ -1,19 +1,19 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: foundation_rails_helper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: '0.2'
|
5
|
+
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Sébastien Gruhier
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-01-
|
12
|
+
date: 2012-01-15 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: railties
|
16
|
-
requirement: &
|
16
|
+
requirement: &70259635091520 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '3.0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70259635091520
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: actionpack
|
27
|
-
requirement: &
|
27
|
+
requirement: &70259635091000 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '3.0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70259635091000
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rspec-rails
|
38
|
-
requirement: &
|
38
|
+
requirement: &70259635090620 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,7 +43,18 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70259635090620
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: capybara
|
49
|
+
requirement: &70259635017960 !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
type: :development
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: *70259635017960
|
47
58
|
description: Rails 3 for zurb foundation CSS framework. Form builder, flash message,
|
48
59
|
...
|
49
60
|
email:
|
@@ -53,7 +64,7 @@ extensions: []
|
|
53
64
|
extra_rdoc_files: []
|
54
65
|
files:
|
55
66
|
- .gitignore
|
56
|
-
- .
|
67
|
+
- .travis.yml
|
57
68
|
- CHANGELOG.md
|
58
69
|
- Gemfile
|
59
70
|
- LICENSE
|
@@ -66,8 +77,10 @@ files:
|
|
66
77
|
- lib/foundation_rails_helper/form_builder.rb
|
67
78
|
- lib/foundation_rails_helper/version.rb
|
68
79
|
- lib/railtie.rb
|
80
|
+
- spec/foundation_rails_helper/flash_spec.rb
|
69
81
|
- spec/foundation_rails_helper/form_builder_spec.rb
|
70
82
|
- spec/spec_helper.rb
|
83
|
+
- spec/support/mock_rails.rb
|
71
84
|
homepage: http://github.com/sgruhier/foundation_rails_helper
|
72
85
|
licenses: []
|
73
86
|
post_install_message:
|
@@ -83,9 +96,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
83
96
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
84
97
|
none: false
|
85
98
|
requirements:
|
86
|
-
- - ! '
|
99
|
+
- - ! '>='
|
87
100
|
- !ruby/object:Gem::Version
|
88
|
-
version:
|
101
|
+
version: '0'
|
89
102
|
requirements: []
|
90
103
|
rubyforge_project:
|
91
104
|
rubygems_version: 1.8.10
|
@@ -93,5 +106,7 @@ signing_key:
|
|
93
106
|
specification_version: 3
|
94
107
|
summary: Rails 3 helpers for zurb foundation CSS framework
|
95
108
|
test_files:
|
109
|
+
- spec/foundation_rails_helper/flash_spec.rb
|
96
110
|
- spec/foundation_rails_helper/form_builder_spec.rb
|
97
111
|
- spec/spec_helper.rb
|
112
|
+
- spec/support/mock_rails.rb
|
data/.rbenv-gemsets
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
foundation_rails_helper
|