dbAccessor 0.1.0 → 0.1.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
  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