model_2_factory-rails 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
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'