grapethor 0.2.0 → 0.2.1

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
  SHA256:
3
- metadata.gz: 164d641128293c332e80fac404ec38bf342b56ace1aabb0bb3d6c0712cabde5d
4
- data.tar.gz: a4515860d094c657a841e9c0c2d567bfd1c638514fecca774b40e851adfd7f86
3
+ metadata.gz: c7c7bfe6c0b3508813bab9aea15e96b0a1f339c5886a481ecd50b90ea59cd2f4
4
+ data.tar.gz: 2344f087f0b824e8d88a247e44162c2a74f62405ccd43c7bbcb6601f9c1e3260
5
5
  SHA512:
6
- metadata.gz: 4062d5ce2cb8efab981226c6341d174354b0761be551c88e768144a179deb66c7ca20540972dcc969617b90d3dc9986f21a1fb37eace453a03f1c6bd6f2672dd
7
- data.tar.gz: 82533b288cb77cb834ca36f8c3e96bda71f1e7ff611a3be522ca64e8d46d84be08227205cfcadb2c8413870688dc9359b8847d83b89f8df931524369b7f9597f
6
+ metadata.gz: b85c34d5ae4c5e74952c4aa7571b21e2e6817398f09e6cdb911b83089b770bf0c6c5030d258a6a5c2f87125b450080fe255180fab839f5bc1b3ca7ce2d874516
7
+ data.tar.gz: 5797c222847696c98bd67e1bd9418a2a36fd9043564c20b19834eff2a07d654d46528c3915e4e33255479e1b24193976277046e728362cce44e970056e7e03f2
data/CHANGELOG.md CHANGED
@@ -7,6 +7,15 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.2.1] - 2020-01-16
11
+ ### Fixed
12
+ + fix resource generator and utils tests
13
+
14
+
15
+ ## [0.2.0] - 2019-04-17
16
+ ### Changed
17
+ + improve support for resource generator options
18
+
10
19
 
11
20
  ## [0.1.0] - 2019-04-10
12
21
  ###Added
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- grapethor (0.2.0)
4
+ grapethor (0.2.1)
5
5
  activesupport (~> 5.2)
6
6
  thor (~> 0.20)
7
7
 
data/README.md CHANGED
@@ -115,7 +115,7 @@ Multiple RESOURCES may be created for single API version
115
115
 
116
116
  Note: ':id' request path parameter is implicitly used as primary key. There is no need to include it with '-a' option.
117
117
 
118
- Model attribute types available specific ORM:
118
+ Model attribute types available for specific ORM:
119
119
 
120
120
  - activerecord: `bigint, binary, boolean, date, datetime, decimal, float, integer, numeric, string, text, time`
121
121
 
@@ -85,5 +85,10 @@ module Grapethor
85
85
  def res_name_plural
86
86
  res_name.pluralize
87
87
  end
88
+
89
+ def app_prefix
90
+ @app_prefix ||= YAML.load(File.read(CONFIG_FILENAME))['app_prefix']
91
+ end
92
+
88
93
  end
89
94
  end
@@ -50,9 +50,9 @@ module API<%= api_version %>
50
50
  desc 'Creates new <%= res_name %>'
51
51
  <% unless res_attrs.empty? -%>
52
52
  params do
53
- <% res_attrs.each do |name, type| -%>
53
+ <% res_attrs.each do |name, type| -%>
54
54
  requires :<%= name %>, type: <%= param_to_type(type) %>
55
- <% end -%>
55
+ <% end -%>
56
56
  end
57
57
  <% end -%>
58
58
  post do
@@ -21,7 +21,7 @@ class API<%= api_version %><%= res_name.classify.pluralize %>Test < TestCase
21
21
 
22
22
 
23
23
  def test_get_all_<%= res_name.pluralize %>
24
- get '/<%= api_version %>/<%= res_name.pluralize %>'
24
+ get '/<%= app_prefix %>/<%= api_version %>/<%= res_name.pluralize %>'
25
25
 
26
26
  assert_equal 200, last_response.status
27
27
  assert_equal @all_<%= res_name.pluralize %>.to_json, last_response.body
@@ -29,14 +29,14 @@ class API<%= api_version %><%= res_name.classify.pluralize %>Test < TestCase
29
29
 
30
30
 
31
31
  def test_get_<%= res_name %>
32
- get "/<%= api_version %>/<%= res_name.pluralize %>/#{@<%= res_name %>1.id}"
32
+ get "/<%= app_prefix %>/<%= api_version %>/<%= res_name.pluralize %>/#{@<%= res_name %>1.id}"
33
33
 
34
34
  assert_equal 200, last_response.status
35
35
  assert_equal @<%= res_name %>1.to_json, last_response.body
36
36
  end
37
37
 
38
38
  def test_get_<%= res_name %>_by_id_not_found
39
- get "/<%= api_version %>/<%= res_name.pluralize %>/1000"
39
+ get "/<%= app_prefix %>/<%= api_version %>/<%= res_name.pluralize %>/1000"
40
40
 
41
41
  assert_equal 404, last_response.status
42
42
  assert_equal @not_found_response.to_json, last_response.body
@@ -50,7 +50,7 @@ class API<%= api_version %><%= res_name.classify.pluralize %>Test < TestCase
50
50
  <% end -%>
51
51
  }
52
52
  <%= res_name %>_count = <%= res_name.classify %>.count
53
- post '/<%= api_version %>/<%= res_name.pluralize %>', body, { 'Content-Type' => 'application/json' }
53
+ post '/<%= app_prefix %>/<%= api_version %>/<%= res_name.pluralize %>', body, { 'Content-Type' => 'application/json' }
54
54
 
55
55
  assert_equal 201, last_response.status
56
56
  assert_equal <%= res_name %>_count + 1, <%= res_name.classify %>.count
@@ -63,7 +63,7 @@ class API<%= api_version %><%= res_name.classify.pluralize %>Test < TestCase
63
63
  <%= name %>: <%= sample_value(type) %>,
64
64
  <% end -%>
65
65
  }
66
- put "/<%= api_version %>/<%= res_name.pluralize %>/#{@<%= res_name %>1.id}", body, { 'Content-Type' => 'application/json' }
66
+ put "/<%= app_prefix %>/<%= api_version %>/<%= res_name.pluralize %>/#{@<%= res_name %>1.id}", body, { 'Content-Type' => 'application/json' }
67
67
 
68
68
  assert_equal 204, last_response.status
69
69
  <% res_attrs.each do |name, type| -%>
@@ -74,7 +74,7 @@ class API<%= api_version %><%= res_name.classify.pluralize %>Test < TestCase
74
74
 
75
75
  def test_delete_<%= res_name %>
76
76
  <%= res_name %>_count = <%= res_name.classify %>.count
77
- delete "/<%= api_version %>/<%= res_name.pluralize %>/#{@<%= res_name %>1.id}"
77
+ delete "/<%= app_prefix %>/<%= api_version %>/<%= res_name.pluralize %>/#{@<%= res_name %>1.id}"
78
78
 
79
79
  assert_equal 204, last_response.status
80
80
  assert_equal <%= res_name %>_count - 1, <%= res_name.classify %>.count
@@ -1,4 +1,5 @@
1
1
  require 'bigdecimal'
2
+ require 'date'
2
3
 
3
4
  module Grapethor
4
5
  module Utils
@@ -21,11 +22,11 @@ module Grapethor
21
22
  },
22
23
  date: {
23
24
  type: 'Date',
24
- sample: "'<%= Date.today %>'"
25
+ sample: Date.today
25
26
  },
26
27
  datetime: {
27
28
  type: 'DateTime',
28
- sample: "'<%= DateTime.now %>'"
29
+ sample: DateTime.now
29
30
  },
30
31
  decimal: {
31
32
  type: 'BigDecimal',
@@ -45,19 +46,86 @@ module Grapethor
45
46
  },
46
47
  string: {
47
48
  type: 'String',
48
- sample: "'MyString'"
49
+ sample: 'MyString'
49
50
  },
50
51
  text: {
51
52
  type: 'String',
52
- sample: "'MyText'"
53
+ sample: "MyText"
53
54
  },
54
55
  time: {
55
56
  type: 'Time',
56
- sample: "'<%= Time.now %>'"
57
+ sample: Time.now
57
58
  }
59
+ },
60
+ mongoid: {
61
+ # Array: {
62
+ # type:,
63
+ # sample:
64
+ # },
65
+ BigDecimal: {
66
+ type: 'BigDecimal',
67
+ sample: BigDecimal(123.45, 2)
68
+ },
69
+ # BSON::ObjectId: {
70
+ # type:,
71
+ # sample:
72
+ # },
73
+ Boolean: {
74
+ type: 'Boolean',
75
+ sample: true
76
+ },
77
+ Date: {
78
+ type: 'Date',
79
+ sample: Date.today
80
+ },
81
+ DateTime: {
82
+ type: 'DateTime',
83
+ sample: DateTime.now
84
+ },
85
+ Float: {
86
+ type: 'Float',
87
+ sample: 123.45
88
+ },
89
+ # Hash: {
90
+ # type:,
91
+ # sample:
92
+ # },
93
+ Integer: {
94
+ type: 'Integer',
95
+ sample: 123
96
+ },
97
+ # Moped::BSON::Binary: {
98
+ # type:,
99
+ # sample:
100
+ # },
101
+ # Range: {
102
+ # type:,
103
+ # sample:
104
+ # },
105
+ # Regexp: {
106
+ # type:,
107
+ # sample:
108
+ # },
109
+ String: {
110
+ type: 'String',
111
+ sample: 'MyString'
112
+ },
113
+ Symbol: {
114
+ type: 'Symbol',
115
+ sample: :mysymbol
116
+ },
117
+ Time: {
118
+ type: 'Time',
119
+ sample: Time.now
120
+ }
121
+ # TimeWithZone: {
122
+ # type: 'Time',
123
+ # sample:
124
+ # },
58
125
  }
59
126
  }
60
127
 
128
+
61
129
  TEST_FRAMEWORK_DIRNAME = {
62
130
  minitest: 'test',
63
131
  rspec: 'spec'
@@ -1,3 +1,3 @@
1
1
  module Grapethor
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: grapethor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rafal Wrzochol
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-04-17 00:00:00.000000000 Z
11
+ date: 2020-01-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor