goedel 0.1.4 → 0.2.0

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: 4e3b4daec630434e859deccc5f3838979a206640
4
- data.tar.gz: e84c4c6f3769ca000797bb6d1767bfc01db5ec86
3
+ metadata.gz: 25e1f0e527d9b98b268f786ac8d8aeda305125dc
4
+ data.tar.gz: 1cd7241c0550fae725a835976ff59d2ee4d0f979
5
5
  SHA512:
6
- metadata.gz: 42e4d5e01b44993bd7b583ad096685cae471feb97ba9936b8964574fae23bcf14d69622c73a4ca8eb843df8f2dba262908dff575cd3a42bdd28300493ab4e76d
7
- data.tar.gz: 4042f6f54acb23236928ec37474a6294b14c22347d2213551403e236fc1c8afbde2278de5739ed33a94e853368266455adf855109bba0625f4763a73f895648f
6
+ metadata.gz: 19bb6489ef77415578f07ccaeee9a3409b4a6ec1ad0bea7ea46b644ba446fe712488ca7e232f55588df2dd03c12ec76a97ce18905aa2087b1a59f77027634b79
7
+ data.tar.gz: 093b7b444bdb4ee18f7b152ec87ea23d9c1f327c4a48596eeab2c5b35847ab77f9b7cab3d783d8daadc14a79a46ad68661d2608aceac6ee930ae23d4e23286c0
data/README.md CHANGED
@@ -35,16 +35,15 @@ pp last_user.attributes
35
35
  Goedel.goedel(last_user)
36
36
 
37
37
  # will print out activerecord create statement which can create the data object
38
- User.create(
39
- created_at: Time.zone.parse("2015-22-12 08:34:14"),
40
- updated_at: Time.zone.parse("2015-22-12 08:34:14"),
41
- id: 123,
42
- email: "goedel@incompleteness.com",
43
- name: "Goedel"
44
- )
38
+ my_user = User.new
39
+ my_user.created_at = Time.zone.parse("2015-22-12 08:34:14")
40
+ my_user.updated_at = Time.zone.parse("2015-22-12 08:34:14")
41
+ my_user.id = 123
42
+ my_user.email = "goedel@incompleteness.com"
43
+ my_user.name = "Goedel"
44
+ my_user.save
45
45
 
46
46
  # and then return it as a string
47
- => "User.create(\n id: 123,\n email: \"goedel@incompleteness.com\",\n name: \"Goedel\", \n address: \"123 Recurse St. Princeton, New Jersey\""
48
47
 
49
48
  # Not all a record's attributes will show up sometimes, especially those delegated through associations.
50
49
  # You can force these attributes to show up
@@ -55,14 +54,15 @@ User.create(
55
54
 
56
55
  Goedel.goedel(last_user, force_attributes: [:address])
57
56
 
58
- User.create(
59
- created_at: Time.zone.parse("2015-22-12 08:34:14"),
60
- updated_at: Time.zone.parse("2015-22-12 08:34:14"),
61
- id: 123,
62
- email: "goedel@incompleteness.com",
63
- name: "Goedel",
64
- address: "123 Incomplete St. Princeton, New Jersey"
65
- )
57
+ my_user = User.new
58
+ my_user.created_at = Time.zone.parse("2015-22-12 08:34:14")
59
+ my_user.updated_at = Time.zone.parse("2015-22-12 08:34:14")
60
+ my_user.id = 123
61
+ my_user.email = "goedel@incompleteness.com"
62
+ my_user.name = "Goedel"
63
+ my_user.address = "123 Incomplete St. Princeton, New Jersey"
64
+ my_user.save
65
+
66
66
 
67
67
  # You can also override attribute values
68
68
 
data/goedel.gemspec CHANGED
@@ -24,8 +24,9 @@ Gem::Specification.new do |spec|
24
24
 
25
25
  spec.add_dependency "activesupport", "~> 3.2"
26
26
 
27
- spec.add_development_dependency "bundler", "~> 1.11"
27
+ spec.add_development_dependency "bundler", "~> 1.7.6"
28
28
  spec.add_development_dependency "pry", "0.10.3"
29
29
  spec.add_development_dependency "rake", "~> 10.0"
30
30
  spec.add_development_dependency "rspec", "~> 3.0"
31
+ spec.add_development_dependency "tzinfo", "~> 1.2"
31
32
  end
data/lib/goedel/line.rb CHANGED
@@ -3,20 +3,21 @@ require "bigdecimal"
3
3
 
4
4
  module Goedel
5
5
  class Line
6
- attr_reader :prop, :val
6
+ attr_reader :prop, :val, :instance_name
7
7
 
8
- def initialize(prop, val)
8
+ def initialize(instance_name, prop, val)
9
+ @instance_name = instance_name
9
10
  @prop = prop
10
11
  @val = val
11
12
  end
12
13
 
13
14
  def generate
14
- "#{prop}: #{present(val)},"
15
+ "#{instance_name}.#{prop} = #{classify(val)}"
15
16
  end
16
17
 
17
18
  private
18
19
 
19
- def present(val)
20
+ def classify(val)
20
21
  if val.is_a?(String)
21
22
  "\"#{val}\""
22
23
  elsif val.is_a?(ActiveSupport::TimeWithZone)
@@ -10,19 +10,19 @@ module Goedel
10
10
  end
11
11
 
12
12
  def generate
13
- output_array = [model_create]
13
+ output_array = [model_instantiate]
14
14
  model_attributes.each do |prop, val|
15
15
  next unless val
16
16
  output_array << "#{" "*indent}#{attr_line(prop, val)}"
17
17
  end
18
- output_array << ")"
18
+ output_array << "#{instance_name}.save"
19
19
  output_array.join("\n")
20
20
  end
21
21
 
22
22
  private
23
23
 
24
24
  def attr_line(prop, val)
25
- Goedel::Line.new(prop, val).generate
25
+ Goedel::Line.new(instance_name, prop, val).generate
26
26
  end
27
27
 
28
28
  def model_attributes
@@ -35,9 +35,18 @@ module Goedel
35
35
  obj_attr.merge(override_attributes)
36
36
  end
37
37
 
38
- def model_create
39
- "#{object.class}.create("
38
+ def model_instantiate
39
+ "#{instance_name} = #{class_name}.new"
40
+ end
41
+
42
+ def class_name
43
+ object.class.to_s
44
+ end
45
+
46
+ def instance_name
47
+ "my_#{object.class.to_s.downcase}"
40
48
  end
41
49
  end
42
50
  end
43
51
 
52
+
@@ -1,4 +1,4 @@
1
1
  module Goedel
2
- VERSION = "0.1.4"
2
+ VERSION = "0.2.0"
3
3
  end
4
4
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: goedel
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Steven Li
@@ -14,30 +14,30 @@ dependencies:
14
14
  name: activesupport
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '3.2'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '3.2'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.11'
33
+ version: 1.7.6
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '1.11'
40
+ version: 1.7.6
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: pry
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -56,40 +56,54 @@ dependencies:
56
56
  name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ~>
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: '10.0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ~>
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '10.0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ~>
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
75
  version: '3.0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ~>
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: '3.0'
83
- description: ' Generate activerecord create statements from activerecord data.'
83
+ - !ruby/object:Gem::Dependency
84
+ name: tzinfo
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '1.2'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '1.2'
97
+ description: " Generate activerecord create statements from activerecord data."
84
98
  email:
85
99
  - steven@anyperk.com
86
100
  executables: []
87
101
  extensions: []
88
102
  extra_rdoc_files: []
89
103
  files:
90
- - .gitignore
91
- - .rspec
92
- - .travis.yml
104
+ - ".gitignore"
105
+ - ".rspec"
106
+ - ".travis.yml"
93
107
  - CODE_OF_CONDUCT.md
94
108
  - Gemfile
95
109
  - LICENSE.txt
@@ -112,17 +126,17 @@ require_paths:
112
126
  - lib
113
127
  required_ruby_version: !ruby/object:Gem::Requirement
114
128
  requirements:
115
- - - '>='
129
+ - - ">="
116
130
  - !ruby/object:Gem::Version
117
131
  version: '0'
118
132
  required_rubygems_version: !ruby/object:Gem::Requirement
119
133
  requirements:
120
- - - '>='
134
+ - - ">="
121
135
  - !ruby/object:Gem::Version
122
136
  version: '0'
123
137
  requirements: []
124
138
  rubyforge_project:
125
- rubygems_version: 2.0.14
139
+ rubygems_version: 2.2.2
126
140
  signing_key:
127
141
  specification_version: 4
128
142
  summary: Generate activerecord create statements from activerecord data