o2webappizer 0.1.4 → 0.1.5

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: 1b9dafd5290463d2777e6920d037b9baf671a942
4
- data.tar.gz: 7f1bbf6c0dbdb750328e4f8907c9a7ad1f27b59a
3
+ metadata.gz: 6e63a9a6d1063e106eba2b4109466bf804ecb920
4
+ data.tar.gz: ab4f9328581020c36080f7b7906953e4c247daab
5
5
  SHA512:
6
- metadata.gz: 8c5930e4b80020e1c814509fd588e2433c480b04074f6d5a4865f69c2fcef82ef5dba731f11ef77cdcaa771a261811ec193b16c02a8ff55599f0daa3ef6c660e
7
- data.tar.gz: 0abcdc9629909543a1893ddadb7da65d9341a2ba483fc219cad82e9dd15a132803196b6107ca5eff67d7dec16265bf724bb4f416519bde494d477209ee2e7902
6
+ metadata.gz: 8f07ccf99931a8a65373adfeaeb9937a39563197e174e12d985e0a7edef1ccc316b586c09824a056a5ee50e758e44fd3ace2dd7fccf1704a45c4921b4485d8d0
7
+ data.tar.gz: 33c1766b6d70106de86adce509eb500804605c44a9c44021947525323b5773020a378d980d7674757135612381c133ca573bb404612c826aa7ef71f4783c932f
data/README.md CHANGED
@@ -25,6 +25,10 @@ After checking out the repo, run `bin/setup` to install dependencies. You can al
25
25
 
26
26
  To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
27
27
 
28
+ ## TODO
29
+
30
+ * Rspec
31
+
28
32
  ## Contributing
29
33
 
30
34
  Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/o2webappizer.
@@ -4,10 +4,6 @@ module O2webappizer
4
4
  template 'README.md'
5
5
  end
6
6
 
7
- def gemfile
8
- template 'Gemfile'
9
- end
10
-
11
7
  def gitignore
12
8
  template '.gitignore'
13
9
  end
@@ -20,7 +16,8 @@ module O2webappizer
20
16
  keep_file 'assets/images'
21
17
  directory 'controllers'
22
18
  keep_file 'controllers/concerns'
23
- directory 'helpers'
19
+ template 'helpers/application_helper.rb'
20
+ copy_file 'helpers/spree/frontend_helper_decorator.rb' if options.solidus?
24
21
  directory 'mailers'
25
22
  directory 'models'
26
23
  keep_file 'models/concerns'
@@ -60,14 +57,15 @@ module O2webappizer
60
57
  remove_file 'initializers/spree.rb'
61
58
  remove_file 'initializers/devise.rb'
62
59
  end
63
- empty_directory 'locales'
60
+ directory 'locales'
64
61
 
65
62
  inside 'locales' do
66
- options.locales.each do |locale|
67
- copy_file 'routes.en.yml', "routes.#{locale}.yml"
68
- gsub_file "routes.#{locale}.yml", /^en/, locale
69
- copy_file 'simple_form.en.yml', "simple_form.#{locale}.yml"
70
- gsub_file "simple_form.#{locale}.yml", /^en/, locale
63
+ options.locales.reject{ |l| l == 'en' }.each do |locale|
64
+ duplicate_locale locale
65
+ duplicate_locale locale, 'routes'
66
+ gsub_file "routes.#{locale}.yml", /page: page/, "page: #{locale}/page"
67
+ gsub_file "routes.#{locale}.yml", /contact: contact/, "contact: #{locale}/contact"
68
+ duplicate_locale locale, 'simple_form'
71
69
  end
72
70
  end
73
71
  end
@@ -98,19 +96,46 @@ module O2webappizer
98
96
  end
99
97
 
100
98
  def leftovers
101
- #rake 'railties:install:migrations'
102
- #rake 'db:create'
103
- #rake 'db:migrate' if options.migrate?
104
-
105
99
  template '.ruby-version'
106
100
 
107
101
  after_bundle do
108
- init_git unless options.skip_git?
102
+ rake 'railties:install:migrations'
103
+ if options.migrate?
104
+ rake 'db:drop' if options.drop?
105
+ rake 'db:create'
106
+ rake 'db:migrate'
107
+ if options.solidus? && options.seed?
108
+ rake_options=[]
109
+ rake_options << "AUTO_ACCEPT=1" if options.auto_accept?
110
+ rake_options << "ADMIN_EMAIL=#{options.admin_email}" if options.admin_email.present?
111
+ rake_options << "ADMIN_PASSWORD=#{options.admin_password}" if options.admin_password.present?
112
+ rake "db:seed #{rake_options.join(' ')}"
113
+ rake "db:data:dump"
114
+ end
115
+ end
116
+ unless options.skip_git?
117
+ git :init
118
+ git add: '.'
119
+ git commit: "-m 'first commit'"
120
+ git checkout: "-b 'staging'"
121
+ git checkout: "-b 'vagrant'"
122
+ git checkout: "-b 'develop'"
123
+ end
124
+ if options.solidus? && options.sample?
125
+ rake 'spree_sample:load' unless Dir["#{destination_root}/public/spree/*"].any?
126
+ end
109
127
  end
110
128
  end
111
129
 
112
130
  private
113
131
 
132
+ def duplicate_locale(locale, name = nil)
133
+ src_name = name ? "#{name}.en.yml" : "en.yml"
134
+ dst_name = name ? "#{name}.#{locale}.yml" : "#{locale}.yml"
135
+ copy_file src_name, dst_name
136
+ gsub_file dst_name, /^en/, locale
137
+ end
138
+
114
139
  def configure_application
115
140
  overrides = if options.solidus?
116
141
  <<-OVERRIDES
@@ -129,11 +154,25 @@ module O2webappizer
129
154
  Dir.glob(File.join(File.dirname(__FILE__), "../app/**/*_decorator*.rb")) do |c|
130
155
  Rails.configuration.cache_classes ? require(c) : load(c)
131
156
  end
157
+ Dir.glob(File.join(File.dirname(__FILE__), "../lib/**/*_decorator*.rb")) do |c|
158
+ Rails.configuration.cache_classes ? require(c) : load(c)
159
+ end
132
160
  #{overrides}
133
161
  end
134
162
 
163
+ config.time_zone = 'Eastern Time (US & Canada)'
164
+
135
165
  config.i18n.default_locale = :#{options.locales.first}
136
166
  config.i18n.available_locales = #{options.locales.map(&:to_sym)}
167
+
168
+ # config.active_job.queue_adapter = :que
169
+ config.active_record.schema_format = :sql
170
+
171
+ config.action_view.embed_authenticity_token_in_remote_forms = true
172
+
173
+ config.assets.paths << Rails.root.join("app", "assets", "fonts")
174
+ config.assets.paths << Rails.root.join("vendor", "assets", "fonts")
175
+ config.assets.precompile += %w( .svg .eot .woff .ttf)
137
176
  APP
138
177
  end
139
178
 
@@ -157,10 +196,6 @@ module O2webappizer
157
196
  configure_env 'vagrant', 'info'
158
197
  end
159
198
 
160
- def init_git
161
- git :init
162
- end
163
-
164
199
  def configure_env(name, level)
165
200
  environment(<<-DEV.strip_heredoc.indent(2), env: name)
166
201
 
@@ -15,7 +15,7 @@ module O2webappizer
15
15
  class_option :force, type: :boolean, aliases: "-f", default: true,
16
16
  desc: "Overwrite files that already exist"
17
17
 
18
- class_option :solidus, type: :boolean, default: false,
18
+ class_option :solidus, type: :boolean, default: true,
19
19
  desc: "Install Solidus as well"
20
20
 
21
21
  class_option :locales, type: :array, default: ['fr', 'en'],
@@ -24,6 +24,24 @@ module O2webappizer
24
24
  class_option :migrate, type: :boolean, default: true,
25
25
  desc: 'Run migrations'
26
26
 
27
+ class_option :seed, type: :boolean, default: true,
28
+ desc: 'load seed data (migrations must be run)'
29
+
30
+ class_option :sample, type: :boolean, default: true,
31
+ desc: 'load sample data (migrations must be run)'
32
+
33
+ class_option :drop, type: :boolean, default: false,
34
+ desc: 'Drop current table before migration'
35
+
36
+ class_option :auto_accept, type: :boolean, default: true,
37
+ desc: 'Auto-accept prompts'
38
+
39
+ class_option :admin_email, type: :string,
40
+ desc: 'Admin email'
41
+
42
+ class_option :admin_password, type: :string,
43
+ desc: 'Admin password'
44
+
27
45
  class_option :ruby_version, type: :string, default: '2.2.3',
28
46
  desc: 'Set Ruby version used'
29
47
 
@@ -1,5 +1,5 @@
1
1
  module O2webappizer
2
- VERSION = "0.1.4"
2
+ VERSION = "0.1.5"
3
3
  RUBY_VERSION = IO.read("#{File.dirname(__FILE__)}/../../.ruby-version").strip
4
4
  RAILS_VERSION = "4.2"
5
5
  end
data/templates/Gemfile.tt CHANGED
@@ -89,13 +89,15 @@ gem 'lazyload-rails', github: 'jassa/lazyload-rails'
89
89
  gem 'browser', github: 'fnando/browser'
90
90
 
91
91
  # Rails Admin
92
- gem 'rails_admin_cms'
93
- gem 'rich', github: 'o2web/rich'
92
+ gem 'rails_admin_cms', github: 'o2web/rails_admin_cms', branch: 'master'
93
+ gem 'rich', github: 'o2web/rich', branch: 'master'
94
+ gem 'rails_admin', github: 'o2web/rails_admin', branch: 'master'
94
95
  gem 'rails_admin_jcrop', github: 'o2web/rails_admin_jcrop', branch: 'feature/one_crop_per_page'
95
- # gem 'rails_admin_history_rollback', github: 'rikkipitt/rails_admin_history_rollback'
96
96
 
97
97
  <% if options.solidus? -%>
98
98
  # Solidus
99
- gem 'solidus', github: 'o2web/solidus', branch: 'v1.1'
100
- gem 'solidus_auth_devise'
99
+ gem 'solidus', github: 'o2web/solidus', branch: 'master'
100
+ gem 'solidus_auth_devise', github: 'solidusio/solidus_auth_devise', branch: 'master'
101
+ gem 'solidus_i18n', github: 'o2web/solidus_i18n', branch: 'master'
102
+ gem 'solidus_globalize', github: 'o2web/solidus_globalize', branch: 'master'
101
103
  <% end -%>
@@ -31,3 +31,11 @@ rake db:reborn
31
31
  ```
32
32
 
33
33
  and then, you're good to go by launching your runner/debugger in Rubymine or by running `rails s` and accessing localhost:3000
34
+
35
+ <% if options.solidus? -%>
36
+ ## Default Admin User Credentials
37
+
38
+ admin@example.com
39
+
40
+ test123
41
+ <% end -%>
@@ -6,4 +6,9 @@ class ApplicationController < ActionController::Base
6
6
  include CMS::Localize
7
7
  include CMS::Editing
8
8
  include CMS::Authenticate
9
+ include CMS::Logger
10
+
11
+ def paper_trail_enabled_for_controller
12
+ false
13
+ end
9
14
  end
@@ -0,0 +1,5 @@
1
+ module ApplicationHelper
2
+ <% if options.solidus? -%>
3
+ include Spree::BaseHelper
4
+ <% end -%>
5
+ end
@@ -18,7 +18,7 @@
18
18
  <%%= cms_locale_selector %>
19
19
  </div>
20
20
  <div>
21
- <%%= cms_link_to_edit_mode %>
21
+ <%%= cms_link_to_edit_mode if current_admin? %>
22
22
  </div>
23
23
 
24
24
  <%%= yield %>
@@ -1,12 +1,21 @@
1
1
  RailsAdmin.config do |config|
2
- ### Popular gems integration
2
+ config.main_app_name = ["Dashboard", ""]
3
+
3
4
  config.browser_validations = false
4
5
 
6
+ config.compact_show_view = false
7
+
8
+ ### Popular gems integration
9
+
5
10
  ## == Devise ==
6
11
  # config.authenticate_with do
7
12
  # warden.authenticate! scope: :user
8
13
  # end
9
- # config.current_user_method(&:current_user)
14
+ config.current_user_method(&:current_admin)
15
+
16
+ config.authorize_with do
17
+ redirect_to '/' unless current_admin?
18
+ end
10
19
 
11
20
  ## == Cancan ==
12
21
  # config.authorize_with :cancan
@@ -15,19 +24,28 @@ RailsAdmin.config do |config|
15
24
  # config.authorize_with :pundit
16
25
 
17
26
  ## == PaperTrail ==
18
- # config.audit_with :paper_trail, 'User', 'PaperTrail::Version' # PaperTrail >= 3.0.0
27
+ if 'Spree::User'.safe_constantize # TODO: move to Solidus connector
28
+ config.audit_with :paper_trail, 'Spree::User', 'PaperTrail::Version' # PaperTrail >= 3.0.0
29
+ else
30
+ config.audit_with :paper_trail, 'BlackHole', 'PaperTrail::Version'
31
+ end
19
32
 
20
33
  ### More at https://github.com/sferik/rails_admin/wiki/Base-configuration
21
34
 
35
+ config.included_models = Naming::Viewable.models + Naming::Form.models + %w[
36
+ UniqueKey
37
+ Setting
38
+ Rich::RichFile
39
+ ]
40
+
22
41
  config.actions do
23
42
  dashboard # mandatory
24
43
  index # mandatory
25
44
  new do
26
- except Naming::Viewable.models + Naming::Form.structure_models + %w[
45
+ except Naming::Viewable.models + Naming::Form.models + %w[
27
46
  UniqueKey
28
47
  Setting
29
48
  Rich::RichFile
30
- Form::Row
31
49
  ]
32
50
  end
33
51
  export do
@@ -60,8 +78,8 @@ RailsAdmin.config do |config|
60
78
  show_in_app
61
79
 
62
80
  ## With an audit adapter, you can add:
63
- # history_index
64
- # history_show
81
+ history_index
82
+ history_show
65
83
  end
66
84
 
67
85
  config.model 'Rich::RichFile' do
@@ -51,5 +51,3 @@ Spree.config do |config|
51
51
  end
52
52
 
53
53
  Spree.user_class = "Spree::User" # "Spree::LegacyUser"
54
- # SpreeI18n::Config.available_locales = I18n.available_locales # displayed on translation forms
55
- # SpreeGlobalize::Config.supported_locales = I18n.available_locales # displayed on frontend select box
@@ -0,0 +1,12 @@
1
+ # This file should contain all the record creation needed to seed the database with its default values.
2
+ # The data can then be loaded with the rake db:seed (or created alongside the db with db:setup).
3
+ #
4
+ # Examples:
5
+ #
6
+ # cities = City.create([{ name: 'Chicago' }, { name: 'Copenhagen' }])
7
+ # Mayor.create(name: 'Emanuel', city: cities.first)
8
+
9
+ <% if options.solidus? -%>
10
+ Spree::Core::Engine.load_seed if defined?(Spree::Core) && !Spree::Country.any?
11
+ Spree::Auth::Engine.load_seed if defined?(Spree::Auth) && !Spree::User.any?
12
+ <% end -%>
@@ -7,5 +7,6 @@
7
7
  //= require jquery
8
8
  //= require jquery_ujs
9
9
  //= require spree/backend
10
+ //= require spree/backend/solidus_globalize
10
11
 
11
12
  //= require_tree .
@@ -4,6 +4,7 @@
4
4
  * the top of the compiled file, but it's generally better to create a new file per style scope.
5
5
  *
6
6
  *= require spree/backend
7
+ *= require spree/backend/solidus_globalize
7
8
 
8
9
  *= require_self
9
10
  *= require_tree .
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: o2webappizer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Patrice Lebel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-10 00:00:00.000000000 Z
11
+ date: 2016-01-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -95,7 +95,7 @@ files:
95
95
  - templates/app/assets/stylesheets/application.sass
96
96
  - templates/app/controllers/application_controller.rb
97
97
  - templates/app/controllers/cms/authenticate.rb.tt
98
- - templates/app/helpers/application_helper.rb
98
+ - templates/app/helpers/application_helper.rb.tt
99
99
  - templates/app/helpers/spree/frontend_helper_decorator.rb
100
100
  - templates/app/mailers/application_mailer.rb
101
101
  - templates/app/models/form/contact.rb
@@ -126,6 +126,7 @@ files:
126
126
  - templates/config/locales/simple_form.en.yml
127
127
  - templates/config/routes.rb.tt
128
128
  - templates/config/secrets.yml.tt
129
+ - templates/db/seeds.rb.tt
129
130
  - templates/public/404.html
130
131
  - templates/public/422.html
131
132
  - templates/public/500.html
@@ -1,2 +0,0 @@
1
- module ApplicationHelper
2
- end