model_2_factory-rails 0.0.1 → 0.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.
- checksums.yaml +4 -4
- data/.travis.yml +6 -2
- data/README.md +1 -5
- data/exe/factory_gen +4 -3
- data/lib/model_2_factory/model_2_factory.rb +82 -0
- data/lib/model_2_factory/version.rb +3 -0
- data/lib/model_2_factory-rails.rb +2 -0
- data/model_2_factory-rails.gemspec +2 -2
- metadata +5 -7
- data/lib/model_2_factory/core/model_2_factory.rb +0 -16
- data/lib/model_2_factory/rails/model_2_factory.rb +0 -50
- data/lib/model_2_factory/rails/version.rb +0 -7
- data/lib/model_2_factory/rails.rb +0 -1
- data/lib/model_2_factory_rails.rb +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ebd03d0d28a35452fa8de28d87de55aa5a9dae04
|
4
|
+
data.tar.gz: 9ce509a5bf89eb8656651a0e4760d20364aadf6f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e07d1334ab86f31e9504185d6f181f2cb100fefddb9e952a36a6d025881a4c8f2795e87b2a7282c9ef18646f3ea7b599109b0217865a765fe4ec43af96d73c75
|
7
|
+
data.tar.gz: 7eebc953508f588ef582c29877a596ade0389ac86e41d0ca27ac9d6ab704854e4ce8af8646705312de8fea38018d890cdae1b14cf275b588686db0ecdc15bd0b
|
data/.travis.yml
CHANGED
data/README.md
CHANGED
@@ -1,13 +1,9 @@
|
|
1
|
-
#
|
1
|
+
# model_2_factory-rails
|
2
2
|
|
3
3
|
[](https://badge.fury.io/rb/model_2_factory-rails)
|
4
4
|
[](https://travis-ci.org/eendroroy/model_2_factory-rails)
|
5
5
|
[](https://codeclimate.com/github/eendroroy/model_2_factory-rails)
|
6
6
|
|
7
|
-
Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/model_2_factory/rails`. To experiment with that code, run `bin/console` for an interactive prompt.
|
8
|
-
|
9
|
-
TODO: Delete this and the text above, and describe your gem
|
10
|
-
|
11
7
|
## Installation
|
12
8
|
|
13
9
|
Add this line to your application's Gemfile:
|
data/exe/factory_gen
CHANGED
@@ -0,0 +1,82 @@
|
|
1
|
+
module Model2Factory
|
2
|
+
DEFAULTS = {
|
3
|
+
integer: 1,
|
4
|
+
bigint: 1,
|
5
|
+
numeric: 1,
|
6
|
+
decimal: 123.456,
|
7
|
+
float: 123.456,
|
8
|
+
string: "'MyString'",
|
9
|
+
text: "'MyText'",
|
10
|
+
datetime: "'#{Time.now}'",
|
11
|
+
timestamp: "'#{Time.now.getutc.to_i}'",
|
12
|
+
boolean: true
|
13
|
+
}.freeze
|
14
|
+
|
15
|
+
def self.invoke
|
16
|
+
create_factory(ARGV[0].to_s)
|
17
|
+
end
|
18
|
+
|
19
|
+
def self.create_factory(name)
|
20
|
+
lines = []
|
21
|
+
Object.const_get(name).columns.each do |col|
|
22
|
+
next if %w[updated_at created_at id].include? col.name
|
23
|
+
lines << " #{col.name} #{DEFAULTS[col.type.to_sym]}\n"
|
24
|
+
end
|
25
|
+
write_to_file(name, lines)
|
26
|
+
exit(0)
|
27
|
+
rescue NameError
|
28
|
+
warn_not_found name
|
29
|
+
exit(1)
|
30
|
+
end
|
31
|
+
|
32
|
+
def self.write_to_file(name, lines)
|
33
|
+
factory = File.open(
|
34
|
+
"#{factory_dir}/#{name.underscore.pluralize}_#{factory_suffix}.rb",
|
35
|
+
File::RDWR | File::CREAT | File::TRUNC,
|
36
|
+
0o644
|
37
|
+
)
|
38
|
+
factory.write "FactoryGirl.define do\n factory :#{name.underscore} do\n"
|
39
|
+
lines.each do |line|
|
40
|
+
factory.write line
|
41
|
+
end
|
42
|
+
factory.write " end\nend\n"
|
43
|
+
factory.close
|
44
|
+
end
|
45
|
+
|
46
|
+
def self.warn_not_found(name)
|
47
|
+
if name == ''
|
48
|
+
puts 'Provide a Model name ...'
|
49
|
+
else
|
50
|
+
puts "Model '#{name}' not found."
|
51
|
+
end
|
52
|
+
puts 'Available Models :'
|
53
|
+
|
54
|
+
Dir['app/models/**/*.rb'].map do |f|
|
55
|
+
puts "==> #{f.chomp('.rb')[f.rindex('/') + 1..f.length].camelize}"
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
def self.factory_dir
|
60
|
+
if Rails.application.config.generators.factory_girl[:dir].nil?
|
61
|
+
'spec/factories'
|
62
|
+
else
|
63
|
+
Rails.application.config.generators.factory_girl[:dir]
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
def self.factory_suffix
|
68
|
+
if Rails.application.config.generators.factory_girl[:suffix].nil?
|
69
|
+
'factory'
|
70
|
+
else
|
71
|
+
Rails.application.config.generators.factory_girl[:suffix]
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
class << self
|
76
|
+
private :create_factory
|
77
|
+
private :write_to_file
|
78
|
+
private :warn_not_found
|
79
|
+
private :factory_dir
|
80
|
+
private :factory_suffix
|
81
|
+
end
|
82
|
+
end
|
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
lib = File.expand_path('../lib', __FILE__)
|
4
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
5
|
-
require 'model_2_factory/
|
5
|
+
require 'model_2_factory/version'
|
6
6
|
|
7
7
|
Gem::Specification.new do |spec|
|
8
8
|
spec.name = 'model_2_factory-rails'
|
9
|
-
spec.version = Model2Factory::
|
9
|
+
spec.version = Model2Factory::VERSION
|
10
10
|
spec.authors = ['indrajit']
|
11
11
|
spec.email = ['eendroroy@gmail.com']
|
12
12
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: model_2_factory-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- indrajit
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-04-
|
11
|
+
date: 2017-04-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -128,11 +128,9 @@ files:
|
|
128
128
|
- bin/console
|
129
129
|
- bin/setup
|
130
130
|
- exe/factory_gen
|
131
|
-
- lib/model_2_factory
|
132
|
-
- lib/model_2_factory/
|
133
|
-
- lib/model_2_factory/
|
134
|
-
- lib/model_2_factory/rails/version.rb
|
135
|
-
- lib/model_2_factory_rails.rb
|
131
|
+
- lib/model_2_factory-rails.rb
|
132
|
+
- lib/model_2_factory/model_2_factory.rb
|
133
|
+
- lib/model_2_factory/version.rb
|
136
134
|
- model_2_factory-rails.gemspec
|
137
135
|
homepage: https://github.com/eendroroy/model_2_factory-rails
|
138
136
|
licenses:
|
@@ -1,16 +0,0 @@
|
|
1
|
-
module Model2Factory
|
2
|
-
module Rails
|
3
|
-
DEFAULTS = {
|
4
|
-
integer: 1,
|
5
|
-
bigint: 1,
|
6
|
-
numeric: 1,
|
7
|
-
decimal: 123.456,
|
8
|
-
float: 123.456,
|
9
|
-
string: "'MyString'",
|
10
|
-
text: "'MyText'",
|
11
|
-
datetime: "'#{Time.now}'",
|
12
|
-
timestamp: "'#{Time.now.getutc.to_i}'",
|
13
|
-
boolean: true
|
14
|
-
}.freeze
|
15
|
-
end
|
16
|
-
end
|
@@ -1,50 +0,0 @@
|
|
1
|
-
require 'model_2_factory/rails/version'
|
2
|
-
require 'model_2_factory/core/model_2_factory'
|
3
|
-
|
4
|
-
module Model2Factory
|
5
|
-
module Rails
|
6
|
-
def self.invoke
|
7
|
-
create_factory(ARGV[0].to_s)
|
8
|
-
end
|
9
|
-
|
10
|
-
def self.create_factory(name)
|
11
|
-
lines = []
|
12
|
-
Object.const_get(name).columns.each do |col|
|
13
|
-
next if %w[updated_at created_at id].include? col.name
|
14
|
-
lines << " #{col.name} #{DEFAULTS[col.type.to_sym]}\n"
|
15
|
-
end
|
16
|
-
write_to_file(name, lines)
|
17
|
-
rescue NameError
|
18
|
-
warn_not_found name
|
19
|
-
end
|
20
|
-
|
21
|
-
def self.write_to_file(name, lines)
|
22
|
-
factory = File.open(
|
23
|
-
"spec/factories/#{name.underscore.pluralize}_factory.rb",
|
24
|
-
File::RDWR | File::CREAT | File::TRUNC,
|
25
|
-
0o644
|
26
|
-
)
|
27
|
-
factory.write "FactoryGirl.define do\n factory :#{name.underscore} do\n"
|
28
|
-
lines.each do |line|
|
29
|
-
factory.write line
|
30
|
-
end
|
31
|
-
factory.write " end\nend\n"
|
32
|
-
factory.close
|
33
|
-
end
|
34
|
-
|
35
|
-
def self.warn_not_found(name)
|
36
|
-
puts "Model '#{name}' not found."
|
37
|
-
puts 'Available Models :'
|
38
|
-
|
39
|
-
Dir['app/models/**/*.rb'].map do |f|
|
40
|
-
puts "==> #{f.chomp('.rb')[f.rindex('/') + 1..f.length].camelize}"
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
class << self
|
45
|
-
private :create_factory
|
46
|
-
private :write_to_file
|
47
|
-
private :warn_not_found
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
@@ -1 +0,0 @@
|
|
1
|
-
require 'rails/version'
|
@@ -1 +0,0 @@
|
|
1
|
-
require 'model_2_factory/rails/model_2_factory'
|