spree_grid_faq 0.0.6 → 0.0.7

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.
Files changed (57) hide show
  1. data/.gitignore +10 -0
  2. data/.rspec +1 -0
  3. data/Gemfile +9 -0
  4. data/Gemfile.lock +226 -0
  5. data/LICENSE +26 -0
  6. data/README.md +19 -0
  7. data/Rakefile +29 -0
  8. data/Versionfile +6 -0
  9. data/app/assets/stylesheets/store/spree_grid_faq.css +3 -0
  10. data/app/controllers/spree/admin/products_decorator.rb +46 -0
  11. data/app/controllers/spree/admin/questions_controller.rb +25 -0
  12. data/app/controllers/spree/admin/taxons_decorator.rb +46 -0
  13. data/app/controllers/spree/questions_controller.rb +28 -0
  14. data/app/models/spree/product_decorator.rb +3 -0
  15. data/app/models/spree/question.rb +24 -0
  16. data/app/models/spree/taxon_decorator.rb +3 -0
  17. data/app/overrides/grid_faq_admin_tab.rb +4 -0
  18. data/app/overrides/grid_faq_footer_right.rb +4 -0
  19. data/app/overrides/grid_faq_product_right_part_wrap.rb +4 -0
  20. data/app/overrides/grid_faq_taxonomies_sidebar_item.rb +4 -0
  21. data/app/views/spree/admin/products/_question_product_table.html.erb +23 -0
  22. data/app/views/spree/admin/products/available_for_question.js.erb +26 -0
  23. data/app/views/spree/admin/products/remove_for_question.js.erb +1 -0
  24. data/app/views/spree/admin/products/select_for_question.js.erb +2 -0
  25. data/app/views/spree/admin/products/selected_for_question.html.erb +40 -0
  26. data/app/views/spree/admin/questions/_form.html.erb +21 -0
  27. data/app/views/spree/admin/questions/edit.html.erb +9 -0
  28. data/app/views/spree/admin/questions/index.html.erb +36 -0
  29. data/app/views/spree/admin/questions/new.html.erb +7 -0
  30. data/app/views/spree/admin/shared/_question_tabs.html.erb +24 -0
  31. data/app/views/spree/admin/taxons/_question_taxon_table.html.erb +23 -0
  32. data/app/views/spree/admin/taxons/available_for_question.js.erb +26 -0
  33. data/app/views/spree/admin/taxons/remove_for_question.js.erb +1 -0
  34. data/app/views/spree/admin/taxons/select_for_question.js.erb +2 -0
  35. data/app/views/spree/admin/taxons/selected_for_question.html.erb +40 -0
  36. data/app/views/spree/questions/index.html.haml +14 -0
  37. data/app/views/spree/questions/index.xml.builder +19 -0
  38. data/app/views/spree/questions/show.html.haml +15 -0
  39. data/app/views/spree/shared/_product_faq.html.haml +5 -0
  40. data/app/views/spree/shared/_taxon_faq.html.erb +10 -0
  41. data/app/views/spree/shared/_taxon_faq.html.haml +5 -0
  42. data/config/locales/en.yml +5 -0
  43. data/config/routes.rb +33 -0
  44. data/db/migrate/20120526221807_create_spree_questions.rb +12 -0
  45. data/db/migrate/20120527180748_create_spree_questions_taxons.rb +10 -0
  46. data/db/migrate/20120527181205_create_spree_products_questions.rb +10 -0
  47. data/lib/generators/spree_faqs/install/install_generator.rb +24 -0
  48. data/lib/spree_grid_faq/engine.rb +20 -0
  49. data/lib/spree_grid_faq/version.rb +3 -0
  50. data/lib/spree_grid_faq.rb +3 -0
  51. data/script/rails +7 -0
  52. data/spec/factories/question_factory.rb +7 -0
  53. data/spec/requests/questions_spec.rb +57 -0
  54. data/spec/requests/taxonomies_spec.rb +34 -0
  55. data/spec/spec_helper.rb +49 -0
  56. data/spree_grid_faq.gemspec +31 -0
  57. metadata +74 -18
@@ -0,0 +1,5 @@
1
+ - if @product and not @product.questions.all.empty?
2
+ %h6.product-section-title #{@product.name} FAQ
3
+ %ul.products-faq
4
+ - @product.questions.each do |question|
5
+ %li=link_to question.question, question
@@ -0,0 +1,10 @@
1
+ <% if @taxon and not @taxon.questions.limit(3).all.empty? %>
2
+ <div data-hook="taxon_sidebar_faq">
3
+ <h6 class="taxonomy-root"><%=@taxon.name%> FAQ</h6>
4
+ <ul class="taxons-list">
5
+ <% @taxon.questions.limit(3).each do |question| %>
6
+ <li><%=link_to question.question, question%></li>
7
+ <% end %>
8
+ </ul>
9
+ </div>
10
+ <% end %>
@@ -0,0 +1,5 @@
1
+ - if @taxon && @taxon.questions
2
+ %h6.taxonomy-root #{@taxon.name} FAQ
3
+ %ul.taxons-list
4
+ - @taxon.questions.each do |question|
5
+ %li=link_to question.question, question
@@ -0,0 +1,5 @@
1
+ # Sample localization file for English. Add more files in this directory for other locales.
2
+ # See https://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points.
3
+
4
+ en:
5
+ hello: "Hello world"
data/config/routes.rb ADDED
@@ -0,0 +1,33 @@
1
+ Spree::Core::Engine.routes.draw do
2
+ resources :questions, :only => [:show], :path => 'faq' do
3
+ collection do
4
+ get '(/page-:page.html)', :action => :index, :as => ''
5
+ match '/browse/(*id)(/page-:page.html)', :action => :browse
6
+ end
7
+ end
8
+
9
+ namespace :admin do
10
+ resources :questions do
11
+ resources :taxons do
12
+ member do
13
+ get :select, :action => :select_for_question
14
+ delete :remove, :action => :remove_for_question
15
+ end
16
+ collection do
17
+ post :available, :action => :available_for_question
18
+ get :selected, :action => :selected_for_question
19
+ end
20
+ end
21
+ resources :products do
22
+ member do
23
+ get :select, :action => :select_for_question
24
+ delete :remove, :action => :remove_for_question
25
+ end
26
+ collection do
27
+ post :available, :action => :available_for_question
28
+ get :selected, :action => :selected_for_question
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,12 @@
1
+ class CreateSpreeQuestions < ActiveRecord::Migration
2
+ def change
3
+ create_table :spree_questions do |t|
4
+ t.string :question
5
+ t.text :answer
6
+ t.text :description
7
+ t.string :slug
8
+ t.timestamps
9
+ end
10
+ add_index :spree_questions, :slug
11
+ end
12
+ end
@@ -0,0 +1,10 @@
1
+ class CreateSpreeQuestionsTaxons < ActiveRecord::Migration
2
+ def change
3
+ create_table :spree_questions_taxons, :id => false do |t|
4
+ t.integer :question_id
5
+ t.integer :taxon_id
6
+ end
7
+ add_index :spree_questions_taxons, :question_id
8
+ add_index :spree_questions_taxons, :taxon_id
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ class CreateSpreeProductsQuestions < ActiveRecord::Migration
2
+ def change
3
+ create_table :spree_products_questions, :id => false do |t|
4
+ t.integer :product_id
5
+ t.integer :question_id
6
+ end
7
+ add_index :spree_products_questions, :question_id
8
+ add_index :spree_products_questions, :product_id
9
+ end
10
+ end
@@ -0,0 +1,24 @@
1
+ module SpreeFaqs
2
+ module Generators
3
+ class InstallGenerator < Rails::Generators::Base
4
+
5
+
6
+ def add_stylesheets
7
+ inject_into_file 'app/assets/stylesheets/store/all.css', " *= require store/spree_grid_faq\n", :before => /\*\//, :verbose => true
8
+ end
9
+
10
+ def add_migrations
11
+ run 'bundle exec rake railties:install:migrations FROM=spree_grid_faq'
12
+ end
13
+
14
+ def run_migrations
15
+ res = ask 'Would you like to run the migrations now? [Y/n]'
16
+ if res == '' || res.downcase == 'y'
17
+ run 'bundle exec rake db:migrate'
18
+ else
19
+ puts 'Skiping rake db:migrate, don\'t forget to run it!'
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,20 @@
1
+ module SpreeGridFaq
2
+ class Engine < Rails::Engine
3
+ engine_name 'spree_grid_faq'
4
+
5
+ config.autoload_paths += %W(#{config.root}/lib)
6
+
7
+ # use rspec for tests
8
+ config.generators do |g|
9
+ g.test_framework :rspec
10
+ end
11
+
12
+ def self.activate
13
+ Dir.glob(File.join(File.dirname(__FILE__), '../../app/**/*_decorator*.rb')) do |c|
14
+ Rails.configuration.cache_classes ? require(c) : load(c)
15
+ end
16
+ end
17
+
18
+ config.to_prepare &method(:activate).to_proc
19
+ end
20
+ end
@@ -0,0 +1,3 @@
1
+ module SpreeGridFaq
2
+ VERSION = "0.0.7"
3
+ end
@@ -0,0 +1,3 @@
1
+ require 'haml'
2
+ require 'spree_core'
3
+ require 'spree_grid_faq/engine'
data/script/rails ADDED
@@ -0,0 +1,7 @@
1
+ # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
2
+
3
+ ENGINE_ROOT = File.expand_path('../..', __FILE__)
4
+ ENGINE_PATH = File.expand_path('../../lib/spree_grid_faq/engine', __FILE__)
5
+
6
+ require 'rails/all'
7
+ require 'rails/engine/commands'
@@ -0,0 +1,7 @@
1
+ FactoryGirl.define do
2
+ factory :question, :class => Spree::Question do
3
+ sequence(:question) { |n| "Question #{n}" }
4
+ description "Description"
5
+ answer "Answer"
6
+ end
7
+ end
@@ -0,0 +1,57 @@
1
+ require 'spec_helper'
2
+
3
+ describe "Questions" do
4
+
5
+ describe "Index" do
6
+ context "Single" do
7
+ before (:each) do
8
+ @question = FactoryGirl.create(:question)
9
+ end
10
+
11
+ it "should display questions" do
12
+ visit spree.questions_path
13
+ page.should have_content(@question.question)
14
+ end
15
+
16
+ it "should display descriptions" do
17
+ visit spree.questions_path
18
+ page.should have_content(@question.description)
19
+ end
20
+ end
21
+
22
+ context "Multiple" do
23
+ before (:each) do
24
+ @questions = (1..20).collect { FactoryGirl.create(:question) }
25
+ end
26
+
27
+ it "should paginate" do
28
+ visit spree.questions_path(:page => 2)
29
+ page.should_not have_content(@questions[9].question)
30
+ page.should have_content(@questions[11].question)
31
+ end
32
+
33
+ it "should error past pagination" do
34
+ lambda { visit spree.questions_path(:page => 3)}.should raise_error
35
+ end
36
+
37
+ end
38
+
39
+ end
40
+
41
+ describe "Show" do
42
+ before (:each) do
43
+ @question = FactoryGirl.create(:question)
44
+ end
45
+
46
+ it "should display question" do
47
+ visit spree.question_path(@question)
48
+ page.should have_content(@question.question)
49
+ end
50
+
51
+ it "should display answer" do
52
+ visit spree.question_path(@question)
53
+ page.should have_content(@question.answer)
54
+ end
55
+
56
+ end
57
+ end
@@ -0,0 +1,34 @@
1
+ require 'spec_helper'
2
+
3
+ describe "Taxonomies" do
4
+
5
+ describe "Show" do
6
+
7
+ before (:each) do
8
+ root_taxon = FactoryGirl.create(:taxon)
9
+ @taxon = FactoryGirl.create(:taxon, :parent_id => root_taxon.id)
10
+ end
11
+
12
+ it "should not display sidebar FAQ w/o questions" do
13
+ visit spree.nested_taxons_path(@taxon.permalink)
14
+ page.should_not have_css("[data-hook='taxon_sidebar_faq']")
15
+ end
16
+
17
+ it "should display sidebar questions for current taxon" do
18
+ @question = FactoryGirl.create(:question, :taxons => [@taxon])
19
+ visit spree.nested_taxons_path(@taxon.permalink)
20
+ page.should have_css("[data-hook='taxon_sidebar_faq']")
21
+ page.should have_content(@question.question)
22
+ end
23
+
24
+ it "should only display first 3 questions in sidebar for current taxon" do
25
+ @questions = (1..4).collect { FactoryGirl.create(:question, :taxons => [@taxon]) }
26
+ visit spree.nested_taxons_path(@taxon.permalink)
27
+ page.should have_css("[data-hook='taxon_sidebar_faq']")
28
+ page.should have_content(@questions[0].question)
29
+ page.should_not have_content(@questions[3].question)
30
+ end
31
+
32
+ end
33
+
34
+ end
@@ -0,0 +1,49 @@
1
+ # Configure Rails Environment
2
+ ENV['RAILS_ENV'] = 'test'
3
+
4
+ require File.expand_path('../dummy/config/environment.rb', __FILE__)
5
+
6
+ require 'rspec/rails'
7
+ require 'ffaker'
8
+
9
+ # Requires supporting ruby files with custom matchers and macros, etc,
10
+ # in spec/support/ and its subdirectories.
11
+ Dir[File.join(File.dirname(__FILE__), 'support/**/*.rb')].each { |f| require f }
12
+
13
+ # Requires factories defined in spree_core
14
+ require 'spree/core/testing_support/factories'
15
+ require 'spree/core/url_helpers'
16
+
17
+ Dir["#{File.dirname(__FILE__)}/factories/**"].each do |f|
18
+ fp = File.expand_path(f)
19
+ require fp
20
+ end
21
+
22
+ RSpec.configure do |config|
23
+
24
+ # == URL Helpers
25
+ #
26
+ # Allows access to Spree's routes in specs:
27
+ #
28
+ # visit spree.admin_path
29
+ # current_path.should eql(spree.products_path)
30
+ config.include Spree::Core::UrlHelpers
31
+ # config.include AuthenticationHelpers, :type => :request
32
+
33
+ # == Mock Framework
34
+ #
35
+ # If you prefer to use mocha, flexmock or RR, uncomment the appropriate line:
36
+ #
37
+ # config.mock_with :mocha
38
+ # config.mock_with :flexmock
39
+ # config.mock_with :rr
40
+ config.mock_with :rspec
41
+
42
+ # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
43
+ config.fixture_path = "#{::Rails.root}/spec/fixtures"
44
+
45
+ # If you're not using ActiveRecord, or you'd prefer not to run each of your
46
+ # examples within a transaction, remove the following line or assign false
47
+ # instead of true.
48
+ config.use_transactional_fixtures = true
49
+ end
@@ -0,0 +1,31 @@
1
+ $:.push File.expand_path("../lib", __FILE__)
2
+ require "spree_grid_faq/version"
3
+
4
+ # encoding: UTF-8
5
+ Gem::Specification.new do |s|
6
+ s.platform = Gem::Platform::RUBY
7
+ s.name = 'spree_grid_faq'
8
+ s.version = SpreeGridFaq::VERSION
9
+ s.summary = 'Spree Grid FAQ adds a Frequently Asked Question section to your spree store'
10
+ s.description = 'Spree Grid FAQ adds a Frequently Asked Question section to your spree store. It allows questions to be attached to existing taxons and products and was designe for Alarm Grid.'
11
+ s.required_ruby_version = '>= 1.8.7'
12
+
13
+ s.author = 'Eric Hochberger'
14
+ s.email = 'eric@alarmgrid.com'
15
+ s.homepage = 'http://www.alarmgrid.com'
16
+
17
+ s.files = `git ls-files`.split("\n")
18
+ # s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
19
+ s.require_path = 'lib'
20
+ s.requirements << 'none'
21
+
22
+ s.add_dependency 'spree_core', '~> 1.1.0'
23
+ s.add_dependency 'haml'
24
+
25
+ s.add_development_dependency 'capybara', '1.0.1'
26
+ s.add_development_dependency 'factory_girl', '~> 2.6.4'
27
+ s.add_development_dependency 'ffaker'
28
+ s.add_development_dependency 'rspec-rails', '~> 2.9'
29
+ s.add_development_dependency 'sqlite3'
30
+ s.add_development_dependency 'launchy'
31
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_grid_faq
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-07-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: spree_core
16
- requirement: &70288840084760 !ruby/object:Gem::Requirement
16
+ requirement: &70131679115160 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 1.1.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70288840084760
24
+ version_requirements: *70131679115160
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: haml
27
- requirement: &70288840084380 !ruby/object:Gem::Requirement
27
+ requirement: &70131679114780 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70288840084380
35
+ version_requirements: *70131679114780
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: capybara
38
- requirement: &70288840083840 !ruby/object:Gem::Requirement
38
+ requirement: &70131679114240 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - =
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 1.0.1
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70288840083840
46
+ version_requirements: *70131679114240
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: factory_girl
49
- requirement: &70288840083340 !ruby/object:Gem::Requirement
49
+ requirement: &70131679113740 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 2.6.4
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70288840083340
57
+ version_requirements: *70131679113740
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: ffaker
60
- requirement: &70288840082960 !ruby/object:Gem::Requirement
60
+ requirement: &70131679113360 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70288840082960
68
+ version_requirements: *70131679113360
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec-rails
71
- requirement: &70288840082420 !ruby/object:Gem::Requirement
71
+ requirement: &70131679112820 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ~>
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: '2.9'
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *70288840082420
79
+ version_requirements: *70131679112820
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: sqlite3
82
- requirement: &70288840082000 !ruby/object:Gem::Requirement
82
+ requirement: &70131679112400 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: '0'
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *70288840082000
90
+ version_requirements: *70131679112400
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: launchy
93
- requirement: &70288834596000 !ruby/object:Gem::Requirement
93
+ requirement: &70131679111940 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ! '>='
@@ -98,7 +98,7 @@ dependencies:
98
98
  version: '0'
99
99
  type: :development
100
100
  prerelease: false
101
- version_requirements: *70288834596000
101
+ version_requirements: *70131679111940
102
102
  description: Spree Grid FAQ adds a Frequently Asked Question section to your spree
103
103
  store. It allows questions to be attached to existing taxons and products and was
104
104
  designe for Alarm Grid.
@@ -106,7 +106,63 @@ email: eric@alarmgrid.com
106
106
  executables: []
107
107
  extensions: []
108
108
  extra_rdoc_files: []
109
- files: []
109
+ files:
110
+ - .gitignore
111
+ - .rspec
112
+ - Gemfile
113
+ - Gemfile.lock
114
+ - LICENSE
115
+ - README.md
116
+ - Rakefile
117
+ - Versionfile
118
+ - app/assets/stylesheets/store/spree_grid_faq.css
119
+ - app/controllers/spree/admin/products_decorator.rb
120
+ - app/controllers/spree/admin/questions_controller.rb
121
+ - app/controllers/spree/admin/taxons_decorator.rb
122
+ - app/controllers/spree/questions_controller.rb
123
+ - app/models/spree/product_decorator.rb
124
+ - app/models/spree/question.rb
125
+ - app/models/spree/taxon_decorator.rb
126
+ - app/overrides/grid_faq_admin_tab.rb
127
+ - app/overrides/grid_faq_footer_right.rb
128
+ - app/overrides/grid_faq_product_right_part_wrap.rb
129
+ - app/overrides/grid_faq_taxonomies_sidebar_item.rb
130
+ - app/views/spree/admin/products/_question_product_table.html.erb
131
+ - app/views/spree/admin/products/available_for_question.js.erb
132
+ - app/views/spree/admin/products/remove_for_question.js.erb
133
+ - app/views/spree/admin/products/select_for_question.js.erb
134
+ - app/views/spree/admin/products/selected_for_question.html.erb
135
+ - app/views/spree/admin/questions/_form.html.erb
136
+ - app/views/spree/admin/questions/edit.html.erb
137
+ - app/views/spree/admin/questions/index.html.erb
138
+ - app/views/spree/admin/questions/new.html.erb
139
+ - app/views/spree/admin/shared/_question_tabs.html.erb
140
+ - app/views/spree/admin/taxons/_question_taxon_table.html.erb
141
+ - app/views/spree/admin/taxons/available_for_question.js.erb
142
+ - app/views/spree/admin/taxons/remove_for_question.js.erb
143
+ - app/views/spree/admin/taxons/select_for_question.js.erb
144
+ - app/views/spree/admin/taxons/selected_for_question.html.erb
145
+ - app/views/spree/questions/index.html.haml
146
+ - app/views/spree/questions/index.xml.builder
147
+ - app/views/spree/questions/show.html.haml
148
+ - app/views/spree/shared/_product_faq.html.haml
149
+ - app/views/spree/shared/_taxon_faq.html.erb
150
+ - app/views/spree/shared/_taxon_faq.html.haml
151
+ - config/locales/en.yml
152
+ - config/routes.rb
153
+ - db/migrate/20120526221807_create_spree_questions.rb
154
+ - db/migrate/20120527180748_create_spree_questions_taxons.rb
155
+ - db/migrate/20120527181205_create_spree_products_questions.rb
156
+ - lib/generators/spree_faqs/install/install_generator.rb
157
+ - lib/spree_grid_faq.rb
158
+ - lib/spree_grid_faq/engine.rb
159
+ - lib/spree_grid_faq/version.rb
160
+ - script/rails
161
+ - spec/factories/question_factory.rb
162
+ - spec/requests/questions_spec.rb
163
+ - spec/requests/taxonomies_spec.rb
164
+ - spec/spec_helper.rb
165
+ - spree_grid_faq.gemspec
110
166
  homepage: http://www.alarmgrid.com
111
167
  licenses: []
112
168
  post_install_message: