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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4c189cfb9b2af064f7d636ccece7362a13fc91e9
4
- data.tar.gz: fae95803db1cc6c852e64770b8d5ff6fdbaad5c7
3
+ metadata.gz: ebd03d0d28a35452fa8de28d87de55aa5a9dae04
4
+ data.tar.gz: 9ce509a5bf89eb8656651a0e4760d20364aadf6f
5
5
  SHA512:
6
- metadata.gz: 49959c4c1e3ad6e33d61775fca639cd82f88b0ad5a41f75c7a63dc25d82af8fbfd755cef00ca5b718ff340cc40ad3b43ecc6a0b4d7f5c6d9e8eb5f4d9f11e0c0
7
- data.tar.gz: 7a5b31e52e461e2c41d1a705efc25b41ddcf7ab653aa9690cabc34b79ca610a29332b8ec4a3e29f9d688e21bd742abf93bb2605c03d407d8abe2e1c4fd9c1eab
6
+ metadata.gz: e07d1334ab86f31e9504185d6f181f2cb100fefddb9e952a36a6d025881a4c8f2795e87b2a7282c9ef18646f3ea7b599109b0217865a765fe4ec43af96d73c75
7
+ data.tar.gz: 7eebc953508f588ef582c29877a596ade0389ac86e41d0ca27ac9d6ab704854e4ce8af8646705312de8fea38018d890cdae1b14cf275b588686db0ecdc15bd0b
data/.travis.yml CHANGED
@@ -1,5 +1,9 @@
1
1
  sudo: false
2
2
  language: ruby
3
3
  rvm:
4
- - 2.3.3
5
- before_install: gem install bundler -v 1.13.7
4
+ - 2.0.0
5
+ - 2.1.0
6
+ - 2.2.0
7
+ - 2.3.0
8
+ - 2.4.0
9
+ before_install: gem install bundler
data/README.md CHANGED
@@ -1,13 +1,9 @@
1
- # Model2Factory::Rails
1
+ # model_2_factory-rails
2
2
 
3
3
  [![Gem Version](https://badge.fury.io/rb/model_2_factory-rails.svg)](https://badge.fury.io/rb/model_2_factory-rails)
4
4
  [![Build Status](https://travis-ci.org/eendroroy/model_2_factory-rails.svg?branch=master)](https://travis-ci.org/eendroroy/model_2_factory-rails)
5
5
  [![Code Climate](https://codeclimate.com/github/eendroroy/model_2_factory-rails/badges/gpa.svg)](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
@@ -1,7 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
- require 'active_support'
3
- require 'model_2_factory/rails/model_2_factory'
4
2
 
5
3
  require './config/environment.rb'
6
4
 
7
- Model2Factory::Rails.invoke
5
+ require 'active_support'
6
+ require 'model_2_factory-rails'
7
+
8
+ Model2Factory.invoke
@@ -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
@@ -0,0 +1,3 @@
1
+ module Model2Factory
2
+ VERSION = '0.0.2'.freeze
3
+ end
@@ -0,0 +1,2 @@
1
+ require 'model_2_factory/model_2_factory'
2
+ require 'model_2_factory/version'
@@ -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/rails/version'
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::Rails::Version::STRING
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.1
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-21 00:00:00.000000000 Z
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/core/model_2_factory.rb
132
- - lib/model_2_factory/rails.rb
133
- - lib/model_2_factory/rails/model_2_factory.rb
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,7 +0,0 @@
1
- module Model2Factory
2
- module Rails
3
- module Version
4
- STRING = '0.0.1'.freeze
5
- end
6
- end
7
- end
@@ -1 +0,0 @@
1
- require 'rails/version'
@@ -1 +0,0 @@
1
- require 'model_2_factory/rails/model_2_factory'