dbAccessor 0.1.0 → 0.1.1

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: 9c43e3dd32fdfcab6e7347fb6ded4e801283d499
4
- data.tar.gz: ce4afbf8d6c5ebaa5c61ff37aaf9da4570793c0f
3
+ metadata.gz: 67a4c4de72687a32de28ac35f226e3005b85861f
4
+ data.tar.gz: eb556c400dc24d68c43499faa3e9076fe0b8c8aa
5
5
  SHA512:
6
- metadata.gz: ae50ce367c0cf1a19721bd5dc3fe7abaaff3035ef6c6689c9dea64beb45d77ccb12230ca727b3b249dcea37f88848d74a575f5477b02e774596dddfee8b839fe
7
- data.tar.gz: b755eef29fde8c995745194924a70169008b2028ad95683247cc31726cd6842d6c9df0eefc2cc28f805d41fd5680f1ada7f1ed3048064ada2a43f9835d39b721
6
+ metadata.gz: f781d73d92df60d8cdadcedff1602148324a5c77fadd7e745331fc2d7e43b7f81283dc5bb9ad717146273f0ab1b38ff1da86d4fd5b1f3232e8c09aeb397b5222
7
+ data.tar.gz: ef21b5958da09dbf4e5d51d3b00a6153f5839b7dd36d4586c569c888e6bd74ac9ebe6346c529bc1182ebd9bff3b1f7be7bbcfccebaaae2c74f059b2beb8cfc49
data/Gemfile CHANGED
@@ -1,4 +1,9 @@
1
1
  source 'https://rubygems.org'
2
+ gem "autotest"
3
+ gem "autotest-fsevent"
4
+ gem "autotest-growl"
5
+ gem "ZenTest"
6
+ gem "auth_manager"
2
7
 
3
8
  # Specify your gem's dependencies in dbAccessor.gemspec
4
9
  gemspec
data/dbAccessor.gemspec CHANGED
@@ -22,15 +22,10 @@ Gem::Specification.new do |spec|
22
22
  # version 1.9.0 or greater
23
23
  spec.required_ruby_version = ">= 1.9"
24
24
  spec.add_development_dependency "bundler", "~> 1.5"
25
- spec.add_development_dependency "autotest", "~> 4.4", ">= 4.4.6"
26
25
  spec.add_development_dependency "uuid", "~> 2.3", ">= 2.3.7"
27
- spec.add_development_dependency "autotest-fsevent", "~> 0.2", ">= 0.2.9"
28
- spec.add_development_dependency "autotest-growl", "~> 0.2", ">= 0.2.16"
29
- spec.add_development_dependency "ZenTest", "~> 4.10", ">= 4.10.0"
30
26
  spec.add_development_dependency "rspec", "~> 2.6"
31
27
  spec.add_development_dependency "activerecord", "~> 4.1", ">= 4.1.1"
32
28
  spec.add_development_dependency "rake", "~> 10.3", ">= 10.3.2"
33
29
  spec.add_development_dependency "pg", "~> 0.17", ">= 0.17.1"
34
- spec.add_development_dependency "auth_manager"
35
30
  spec.add_development_dependency "redis"
36
31
  end
@@ -1,11 +1,14 @@
1
1
  module Db_Accessor
2
2
 
3
3
  class Base
4
- USER_MODEL = 'User'
5
- APP_MODEL = 'Application'
6
- app_columns = [:id,:name,:api_key,:url,:user_id]
7
- user_columns = [:id,:login,:password,:firstname,:lastname,:gender,:email]
8
-
4
+ USER_MODEL = 'User'
5
+ APP_MODEL = 'Application'
6
+ ENGINE_MODEL = 'Engine'
7
+ ENGINE_DATA_MODEL = 'Engine_data'
8
+ ACTION_MODEL = 'Action'
9
+ ASSIGNMENT_MODEL = 'Assignment'
10
+
11
+
9
12
  def self.validate_argument(given_param)
10
13
  resp = nil
11
14
  given_param.values.each do |v|
@@ -31,7 +34,8 @@ module Db_Accessor
31
34
  end
32
35
 
33
36
  def self.is_model?(param)
34
- param == USER_MODEL || param == APP_MODEL
37
+ model = [ USER_MODEL, APP_MODEL, ENGINE_MODEL, ENGINE_DATA_MODEL,ACTION_MODEL,ASSIGNMENT_MODEL]
38
+ model.include?(param)
35
39
  end
36
40
 
37
41
  def self.valid_hash?(param)
@@ -60,10 +64,26 @@ module Db_Accessor
60
64
  end
61
65
 
62
66
  def self.valid_object_columns?(model_name,content)
63
- keys = content.keys
64
- user_attributes = [:id,:login,:password,:firstname,:lastname,:gender,:email]
65
- app_attributes = [:id,:api_key,:name,:url,:user_id]
66
- model_name == "User" ? attributes = user_attributes : attributes = app_attributes
67
+ engine_columns = [:id,:name,:action_based,:application_id]
68
+ engine_data_columns = [:id,:customer_id,:item_id,:preference,:engine_id]
69
+ action_columns = [:id,:name,:score]
70
+ assignment_columns = [:id,:engine_id,:action_id]
71
+ app_columns = [:id,:name,:api_key,:url,:user_id]
72
+ user_columns = [:id,:login,:password,:firstname,:lastname,:gender,:email]
73
+
74
+ keys = content.keys
75
+ if model_name == "User"
76
+ attributes = user_columns
77
+ elsif model_name == "Application"
78
+ attributes = app_columns
79
+ elsif model_name == "Engine"
80
+ attributes = engine_columns
81
+ elsif model_name == "Engine_data"
82
+ attributes = engine_data_columns
83
+ else
84
+ attributes = action_columns
85
+ end
86
+
67
87
  verify_keys(keys,attributes)
68
88
  end
69
89
 
@@ -1,3 +1,3 @@
1
1
  module DbAccessor
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
@@ -36,6 +36,8 @@ private ######################################################################
36
36
  content[:login].is_a?(String) && content[:password].is_a?(String) && content[:email].is_a?(String) && !(email_pattern.match(content[:email])).nil?
37
37
  elsif model_name == 'Application'
38
38
  content[:name].is_a?(String) && content[:api_key].is_a?(String) && content[:url].is_a?(String)
39
+ elsif model_name == 'Engine'
40
+ content[:name].is_a?(String) && content[:action_based].is_a?(String) && content[:application_id].is_a?(Fixnum)
39
41
  else
40
42
  false
41
43
  end
@@ -43,7 +45,8 @@ private ######################################################################
43
45
 
44
46
 
45
47
  def self.validate(param,waited_keys)
46
- valid_hash?(param) && valid_keys?(param,waited_keys) && is_model?(param[:model_name]) && valid_object_columns?(param[:model_name],param[:content]) && !validate_argument(param) && !validate_argument(param[:content]) && validate_required_params(param)
48
+ valid_hash?(param) && valid_keys?(param,waited_keys) && is_model?(param[:model_name]) && valid_object_columns?(param[:model_name],param[:content]) && !validate_argument(param) && !validate_argument(param[:content]) && validate_required_params(param)
49
+
47
50
  end
48
51
 
49
52
 
@@ -39,5 +39,4 @@ class User < ActiveRecord::Base
39
39
  end
40
40
  end
41
41
 
42
-
43
42
  end
data/spec/updater_spec.rb CHANGED
@@ -40,7 +40,7 @@ describe DbAccessor::Updater do
40
40
  end
41
41
 
42
42
  context "when the object is not found" do
43
- param = {model_name: "User",attributes: { 100 => { login: "fabi"}} }
43
+ param = {model_name: "User",attributes: { 10000 => { login: "fabi"}} }
44
44
  it {expect((DbAccessor::Updater.update_by_id(param))[:code]).to eq 400 }
45
45
  end
46
46
 
data/spec/writer_spec.rb CHANGED
@@ -10,6 +10,7 @@ describe DbAccessor::Writer do
10
10
 
11
11
  let(:app) { {model_name: 'Application',content: {name: 'Wikina'+nb.to_s,api_key: api_key,url: 'http://www.wiki'+nb.to_s+'.com',user_id: 2}} }
12
12
 
13
+ let(:engine) { {model_name: 'Engine',content: {name: 'reco'+nb.to_s,action_based: 'like',application_id: 2}} }
13
14
 
14
15
  describe".write_object" do
15
16
 
@@ -21,6 +22,10 @@ describe DbAccessor::Writer do
21
22
  it {expect((DbAccessor::Writer.write_object(app))[:code]).to eq 201}
22
23
  end
23
24
 
25
+ context "when an engine is saved in database" do
26
+ it {expect((DbAccessor::Writer.write_object(engine))[:code]).to eq 201}
27
+ end
28
+
24
29
  context "when the object's parameters are empty" do
25
30
  it {expect((DbAccessor::Writer.write_object({model_name: '',content: user[:content]}))[:code]).to eq 400 }
26
31
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dbAccessor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - fabira
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-31 00:00:00.000000000 Z
11
+ date: 2014-06-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -24,26 +24,6 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.5'
27
- - !ruby/object:Gem::Dependency
28
- name: autotest
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '4.4'
34
- - - ">="
35
- - !ruby/object:Gem::Version
36
- version: 4.4.6
37
- type: :development
38
- prerelease: false
39
- version_requirements: !ruby/object:Gem::Requirement
40
- requirements:
41
- - - "~>"
42
- - !ruby/object:Gem::Version
43
- version: '4.4'
44
- - - ">="
45
- - !ruby/object:Gem::Version
46
- version: 4.4.6
47
27
  - !ruby/object:Gem::Dependency
48
28
  name: uuid
49
29
  requirement: !ruby/object:Gem::Requirement
@@ -64,66 +44,6 @@ dependencies:
64
44
  - - ">="
65
45
  - !ruby/object:Gem::Version
66
46
  version: 2.3.7
67
- - !ruby/object:Gem::Dependency
68
- name: autotest-fsevent
69
- requirement: !ruby/object:Gem::Requirement
70
- requirements:
71
- - - "~>"
72
- - !ruby/object:Gem::Version
73
- version: '0.2'
74
- - - ">="
75
- - !ruby/object:Gem::Version
76
- version: 0.2.9
77
- type: :development
78
- prerelease: false
79
- version_requirements: !ruby/object:Gem::Requirement
80
- requirements:
81
- - - "~>"
82
- - !ruby/object:Gem::Version
83
- version: '0.2'
84
- - - ">="
85
- - !ruby/object:Gem::Version
86
- version: 0.2.9
87
- - !ruby/object:Gem::Dependency
88
- name: autotest-growl
89
- requirement: !ruby/object:Gem::Requirement
90
- requirements:
91
- - - "~>"
92
- - !ruby/object:Gem::Version
93
- version: '0.2'
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: 0.2.16
97
- type: :development
98
- prerelease: false
99
- version_requirements: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - "~>"
102
- - !ruby/object:Gem::Version
103
- version: '0.2'
104
- - - ">="
105
- - !ruby/object:Gem::Version
106
- version: 0.2.16
107
- - !ruby/object:Gem::Dependency
108
- name: ZenTest
109
- requirement: !ruby/object:Gem::Requirement
110
- requirements:
111
- - - "~>"
112
- - !ruby/object:Gem::Version
113
- version: '4.10'
114
- - - ">="
115
- - !ruby/object:Gem::Version
116
- version: 4.10.0
117
- type: :development
118
- prerelease: false
119
- version_requirements: !ruby/object:Gem::Requirement
120
- requirements:
121
- - - "~>"
122
- - !ruby/object:Gem::Version
123
- version: '4.10'
124
- - - ">="
125
- - !ruby/object:Gem::Version
126
- version: 4.10.0
127
47
  - !ruby/object:Gem::Dependency
128
48
  name: rspec
129
49
  requirement: !ruby/object:Gem::Requirement
@@ -198,20 +118,6 @@ dependencies:
198
118
  - - ">="
199
119
  - !ruby/object:Gem::Version
200
120
  version: 0.17.1
201
- - !ruby/object:Gem::Dependency
202
- name: auth_manager
203
- requirement: !ruby/object:Gem::Requirement
204
- requirements:
205
- - - ">="
206
- - !ruby/object:Gem::Version
207
- version: '0'
208
- type: :development
209
- prerelease: false
210
- version_requirements: !ruby/object:Gem::Requirement
211
- requirements:
212
- - - ">="
213
- - !ruby/object:Gem::Version
214
- version: '0'
215
121
  - !ruby/object:Gem::Dependency
216
122
  name: redis
217
123
  requirement: !ruby/object:Gem::Requirement