scaffold_pico 0.2.6 → 0.2.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 48f0605737089876b9d08fe8d170d3f8ed56ef4c
4
- data.tar.gz: 60c747832e40604a75f07b4cb791d4dcf3627086
3
+ metadata.gz: e40cb927580081fb976d84220cc33e0e636345df
4
+ data.tar.gz: 5fca21fc95f40f2df1ae2add3af2807cb6ffce97
5
5
  SHA512:
6
- metadata.gz: 08bdb16efdb857b1f63c8bb8b9a616cdfb3e0973233b04058423a469ff858ad9984d7fd27e3879d4b2722cf3774b254aff125fb8786704e51d3f468ebd66c810
7
- data.tar.gz: e93ef4477245ea1974730aff4bc86cb0a8cd38e8816d6db9f59c7013ed34865ee79e12f0f39bb6f86c4a83a6227b226bca79bc56629e8d36ad2e3c7f410c72f5
6
+ metadata.gz: 661bfda0de1d8e558e008a05f4c23da19a5e5478342a71af3c52eb596ffaf3c6fbe7d4424b0e7bc324ed44e628f1390382e987122fa4d9c1f7582f69c532e836
7
+ data.tar.gz: 1df187a0f3e592fd2d01c6416eea13fa2441c1634a26ef67000620b1dc11a33bc647ef0b4f26b0ce663ab9d9cd9905a4cf27c77e3fc0c93cb3a5a8cb43c36f60
data/README.rdoc CHANGED
@@ -1,6 +1,11 @@
1
1
  = scaffold_pico
2
2
 
3
- ruby -I lib bin/scaffold_pico.rb --css_framework=zurb --template=slim -m user -n Admin -i :roles :company -j :roles :company --fields name:string
3
+
4
+ ruby -I lib bin/scaffold_pico.rb \
5
+ --css_framework=materialize --template=slim \
6
+ -m User -n Admin
7
+ --fields name:string
8
+ --fabrication \
4
9
 
5
10
 
6
11
  Used in production:
@@ -51,10 +56,18 @@ further details.
51
56
  scaffold_pico.rb -m Admin::CompanyOwnerships -b AuthenticatedController -n admin \
52
57
  --includes :user, :company \ <---
53
58
  --css_framework=materialize \
54
- --fields user_id: company_id: admin:boolean approved:boolean \
59
+ --fields user_id: company_id: admin:boolean approved:boolean \ <---belongsto, file fields
55
60
  --index-fields user_id admin approved \
56
61
  --search-fields admin approved <-- missing searchfields
57
62
 
63
+ scaffold_pico.rb -m Auctions::AuctionItem -b Manage::BaseController -n manage \
64
+ --includes :user :page :auction \
65
+ --css_framework=zurb --services_folder=actions\
66
+ --fields id: auction:belongs_to user:belongs_to page:belongs_to state: message:text money_wanted_by_user: money_approved_for_user: tickets_count: ended_at: claimed_at: document_1:file document_2:file document_3:file document_4:file document_5:file created_at: \
67
+ --index-fields auction user page state money_wanted_by_user \
68
+ --search-fields auction_id user_id
69
+
70
+
58
71
  Started POST "/super_admin/company_ownerships" for 127.0.0.1 at 2016-05-18 21:36:21 +0300
59
72
  Processing by SuperAdmin::CompanyOwnershipsController#create as HTML
60
73
  Parameters: {"utf8"=>"✓", "authenticity_token"=>"OBASAkBg11kfNd0omZ6Jd4AApmCIU1Q2f9uCq/665cwf/qJva74jkS620ELii96stkPcYfLfzes0yu0i/+nKAQ==", "company_ownership"=>{"user_id"=>"1", "company_id"=>"1", "admin"=>"0", "approved"=>"0"}, "commit"=>"Създай Членство"}
data/lib/scaffold/cli.rb CHANGED
@@ -6,7 +6,7 @@ module Scaffold
6
6
 
7
7
  def initialize
8
8
  Choice.options do
9
- header 'Synopsys: scaffold_pico.rb -m user -n Admin -i :roles :company -j :roles :company --fields name:string'
9
+ header 'Synopsys: scaffold_pico.rb -m User -n Admin --includes :roles :company --joins :roles :company --fields name:string --fabrication'
10
10
  separator ''
11
11
  header 'Specific options:'
12
12
 
@@ -16,6 +16,11 @@ module Scaffold
16
16
  desc 'print some debug info'
17
17
  end
18
18
 
19
+ option :fabrication do
20
+ long '--fabrication'
21
+ desc 'Generate fabrication fabricator https://github.com/paulelliott/fabrication'
22
+ end
23
+
19
24
  option :namespace do
20
25
  short '-n'
21
26
  long '--namespace=namespace1/namespace2'
@@ -30,7 +35,7 @@ module Scaffold
30
35
  desc 'Optional base controller. Example: -b Admin::BaseController'
31
36
  end
32
37
 
33
- option :model do
38
+ option :model, :required => true do
34
39
  short '-m'
35
40
  long '--model=model'
36
41
  desc 'The model. It could be with modules. Example: ModuleA::ModuleB::SomeClassName'
@@ -52,7 +57,7 @@ module Scaffold
52
57
  option :fields do
53
58
  long '-f'
54
59
  long '--fields *FIELDS'
55
- desc 'title:string body:text published:boolean amount:decimal tracking_id:integer:uniq '
60
+ desc 'title:string body:text published:boolean amount:decimal attachment:file tracking_id:integer:uniq '
56
61
  end
57
62
 
58
63
  option :index_fields do
@@ -0,0 +1,24 @@
1
+ module Scaffold
2
+ class FabricatorGenerator < Scaffold::BaseGenerator
3
+ def generate
4
+ fabricators_path = create_fabricators_path
5
+ source_file_name = "fabrication.rb.erb"
6
+ target_file_name = "#{@params.resource_name}_fabricator.rb"
7
+ source_file_path = File.join(root, templates, 'fabricators', source_file_name)
8
+ content = File.read(source_file_path)
9
+
10
+ # http://www.stuartellis.eu/articles/erb/
11
+ content = ::ERB.new(content, nil, '-').result(@params.instance_eval{ binding })#.gsub(/\s+\n$/, "")
12
+
13
+ target_file_path = File.join(fabricators_path, target_file_name)
14
+ IO.write(target_file_path, content)
15
+ end
16
+
17
+ def create_fabricators_path
18
+ fabricators_path = File.join(Dir.pwd, 'spec', 'fabricators')
19
+ FileUtils.mkpath(fabricators_path)
20
+ fabricators_path
21
+ end
22
+
23
+ end
24
+ end
data/lib/scaffold/main.rb CHANGED
@@ -1,10 +1,12 @@
1
1
  module Scaffold
2
2
  class Main
3
3
  def initialize choice
4
- @params = Params.new(choice)
4
+ @choice = choice
5
+ @params = Params.new(@choice)
5
6
  end
6
7
 
7
8
  def run
9
+ Scaffold::FabricatorGenerator.new(@params).generate if @choice[:fabrication]
8
10
  Scaffold::ControllerGenerator.new(@params).generate
9
11
  Scaffold::ModelsGenerator.new(@params).generate
10
12
  Scaffold::ViewsGenerator.new(@params).generate
@@ -2,7 +2,7 @@ module Scaffold
2
2
  class ModelsGenerator < Scaffold::BaseGenerator
3
3
  def generate
4
4
  searches_path = create_searches_path
5
- puts "Don't forget to add 'app/services' in your autoload_paths (application.rb)"
5
+ puts "Don't forget to add '#{@params.services_folder}' in your autoload_paths (application.rb)"
6
6
  create_search_object searches_path
7
7
  end
8
8
 
@@ -1,6 +1,14 @@
1
1
  module Scaffold
2
2
  class Params
3
- attr_reader :resource_name, :namespaces_array, :controller_file_name, :template, :css_framework, :views_folder_name, :route_resource_name, :services_folder
3
+ attr_reader :resource_name, # user for use in @user or filenames
4
+ :resource_class_name, # CompanyOwnership
5
+ :namespaces_array,
6
+ :controller_file_name,
7
+ :template,
8
+ :css_framework,
9
+ :views_folder_name,
10
+ :route_resource_name,
11
+ :services_folder
4
12
 
5
13
  def expand_default_types hash
6
14
  hash.each_pair do |key, value|
@@ -29,7 +37,7 @@ module Scaffold
29
37
  end
30
38
 
31
39
  # routes
32
- @route_resource_name = @model_name.tableize # resoures :users
40
+ @route_resource_name = @model_name.tableize # resourse :users
33
41
  @namespace = choice[:namespace] # for the controllers
34
42
  @base_controller = choice[:base_controller] || 'ApplicationController'
35
43
  @namespaces_array = parse_namespaces_array(@namespace) # [:admin, ...?... ]
data/lib/scaffold_pico.rb CHANGED
@@ -8,6 +8,7 @@ require 'scaffold/controller_generator'
8
8
  require 'scaffold/models_generator'
9
9
  require 'scaffold/views_generator'
10
10
  require 'scaffold/routes_generator'
11
+ require 'scaffold/fabricator_generator'
11
12
  require 'scaffold/template_engines/slim'
12
13
  require 'erb'
13
14
  require 'fileutils'
@@ -0,0 +1,15 @@
1
+ <% if @modules.empty? %>
2
+ Fabricator(:company) do
3
+ <% else %>
4
+ Fabricator(:company, class_name: '<%= @modulized_resource_class_name -%>') do
5
+ <% end -%>
6
+ <% @fields.each_pair do |field_name, kind| -%>
7
+ <% if kind == 'belongs_to' -%>
8
+ <%= field_name %>
9
+ <% elsif kind == 'text' -%>
10
+ <%= field_name -%> { Faker::Lorem.sentence }
11
+ <% elsif kind == 'string' -%>
12
+ <%= field_name -%> { Faker::Lorem.word }
13
+ <% end -%>
14
+ <% end -%>
15
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scaffold_pico
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.6
4
+ version: 0.2.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - gudata
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-06-18 00:00:00.000000000 Z
11
+ date: 2016-07-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -95,6 +95,7 @@ files:
95
95
  - lib/scaffold/base_generator.rb
96
96
  - lib/scaffold/cli.rb
97
97
  - lib/scaffold/controller_generator.rb
98
+ - lib/scaffold/fabricator_generator.rb
98
99
  - lib/scaffold/main.rb
99
100
  - lib/scaffold/models_generator.rb
100
101
  - lib/scaffold/params.rb
@@ -103,6 +104,7 @@ files:
103
104
  - lib/scaffold/views_generator.rb
104
105
  - lib/scaffold_pico.rb
105
106
  - lib/templates/pico/controller.rb.erb
107
+ - lib/templates/pico/fabricators/fabrication.rb.erb
106
108
  - lib/templates/pico/search.rb.erb
107
109
  - lib/templates/pico/views/materialize/slim/_form.html.slim.erb
108
110
  - lib/templates/pico/views/materialize/slim/edit.html.slim.erb