facemock 0.0.7 → 0.0.8
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.
- data/README.md +2 -2
- data/lib/facemock.rb +11 -7
- data/lib/facemock/application.rb +18 -0
- data/lib/facemock/authorization_code.rb +16 -0
- data/lib/facemock/config.rb +2 -2
- data/lib/facemock/database.rb +0 -4
- data/lib/facemock/fb_graph.rb +1 -0
- data/lib/facemock/fb_graph/application.rb +9 -9
- data/lib/facemock/fb_graph/application/user.rb +1 -1
- data/lib/facemock/fb_graph/application/user/permission.rb +5 -2
- data/lib/facemock/fb_graph/exception.rb +23 -0
- data/lib/facemock/permission.rb +16 -0
- data/lib/facemock/user.rb +24 -0
- data/lib/facemock/version.rb +1 -1
- data/spec/facemock/{database/application_spec.rb → application_spec.rb} +20 -20
- data/spec/facemock/config_spec.rb +4 -4
- data/spec/facemock/database/authorization_code.rb +12 -12
- data/spec/facemock/fb_graph/application_spec.rb +4 -4
- data/spec/facemock/fb_graph/exeption_spec.rb +90 -0
- data/spec/facemock/{database/permission_spec.rb → permission_spec.rb} +10 -10
- data/spec/facemock/{database/user_spec.rb → user_spec.rb} +38 -38
- data/spec/facemock_spec.rb +3 -3
- data/spec/support/application_create_helper.rb +1 -1
- data/spec/support/tables_helper.rb +4 -4
- metadata +17 -14
- data/lib/facemock/database/application.rb +0 -20
- data/lib/facemock/database/authorization_code.rb +0 -18
- data/lib/facemock/database/permission.rb +0 -18
- data/lib/facemock/database/user.rb +0 -26
data/README.md
CHANGED
@@ -138,8 +138,8 @@ yaml file see below.
|
|
138
138
|
|
139
139
|
require 'facemock'
|
140
140
|
|
141
|
-
app = Facemock::
|
142
|
-
user = Facemock::
|
141
|
+
app = Facemock::Application.create!
|
142
|
+
user = Facemock::User.craete!(application_id: app.id)
|
143
143
|
auth_hash = Facemock.auth_hash(user.access_token)
|
144
144
|
|
145
145
|
# auth_hash == { "provider" => "facebook",
|
data/lib/facemock.rb
CHANGED
@@ -1,9 +1,13 @@
|
|
1
|
-
require
|
2
|
-
require
|
3
|
-
require
|
4
|
-
require
|
5
|
-
require
|
6
|
-
require
|
1
|
+
require 'facemock/version'
|
2
|
+
require 'facemock/config'
|
3
|
+
require 'facemock/fb_graph'
|
4
|
+
require 'facemock/database'
|
5
|
+
require 'facemock/errors'
|
6
|
+
require 'facemock/auth_hash'
|
7
|
+
require 'facemock/application'
|
8
|
+
require 'facemock/user'
|
9
|
+
require 'facemock/permission'
|
10
|
+
require 'facemock/authorization_code'
|
7
11
|
|
8
12
|
module Facemock
|
9
13
|
extend self
|
@@ -22,7 +26,7 @@ module Facemock
|
|
22
26
|
|
23
27
|
def auth_hash(access_token=nil)
|
24
28
|
if access_token.kind_of?(String) && access_token.size > 0
|
25
|
-
user = Facemock::
|
29
|
+
user = Facemock::User.find_by_access_token(access_token)
|
26
30
|
if user
|
27
31
|
Facemock::AuthHash.new({
|
28
32
|
provider: "facebook",
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'facemock/database/table'
|
2
|
+
require 'facemock/user'
|
3
|
+
|
4
|
+
module Facemock
|
5
|
+
class Application < Database::Table
|
6
|
+
TABLE_NAME = :applications
|
7
|
+
COLUMN_NAMES = [:id, :secret, :created_at]
|
8
|
+
CHILDREN = [ User ]
|
9
|
+
|
10
|
+
# WANT : DBに登録済みの値と重複しないようにする(id, secret)
|
11
|
+
def initialize(options={})
|
12
|
+
opts = Hashie::Mash.new(options)
|
13
|
+
@id = ( opts.id.to_i > 0 ) ? opts.id.to_i : (0..9).to_a.shuffle[0..15].join.to_i
|
14
|
+
@secret = opts.secret || rand(36**32).to_s(36)
|
15
|
+
@created_at = opts.created_at
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'facemock/database/table'
|
2
|
+
|
3
|
+
module Facemock
|
4
|
+
class AuthorizationCode < Database::Table
|
5
|
+
TABLE_NAME = :authorization_codes
|
6
|
+
COLUMN_NAMES = [:id, :string, :user_id, :created_at]
|
7
|
+
|
8
|
+
def initialize(options={})
|
9
|
+
opts = Hashie::Mash.new(options)
|
10
|
+
@id = opts.id
|
11
|
+
@string = opts.string || rand(36**255).to_s(36)
|
12
|
+
@user_id = opts.user_id
|
13
|
+
@created_at = opts.created_at
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
data/lib/facemock/config.rb
CHANGED
@@ -38,9 +38,9 @@ module Facemock
|
|
38
38
|
raise Facemock::Errors::IncorrectDataFormat.new "users format is incorrect" unless validate_users(users)
|
39
39
|
|
40
40
|
# Create application and user record
|
41
|
-
app = Facemock::
|
41
|
+
app = Facemock::Application.create!({ id: app_id, secret: app_secret })
|
42
42
|
users.each do |options|
|
43
|
-
user = Facemock::
|
43
|
+
user = Facemock::User.new(options)
|
44
44
|
user.application_id = app.id
|
45
45
|
user.save!
|
46
46
|
end
|
data/lib/facemock/database.rb
CHANGED
data/lib/facemock/fb_graph.rb
CHANGED
@@ -2,7 +2,7 @@ require 'hashie'
|
|
2
2
|
require 'facemock/config'
|
3
3
|
require 'facemock/fb_graph/application/user'
|
4
4
|
require 'facemock/fb_graph/application/test_users'
|
5
|
-
require 'facemock/
|
5
|
+
require 'facemock/application'
|
6
6
|
|
7
7
|
module Facemock
|
8
8
|
module FbGraph
|
@@ -30,7 +30,7 @@ module Facemock
|
|
30
30
|
elsif !validate_identifier_and_secret
|
31
31
|
raise Facemock::FbGraph::InvalidRequest.new "Unsupported get request."
|
32
32
|
end
|
33
|
-
Facemock::
|
33
|
+
Facemock::Application.find_by_id(@identifier)
|
34
34
|
end
|
35
35
|
|
36
36
|
if @record
|
@@ -65,8 +65,8 @@ module Facemock
|
|
65
65
|
def validate_identifier_and_secret
|
66
66
|
if validate_identifier && validate_secret
|
67
67
|
# WANT : find_by_**_and_**(**, **)の実装
|
68
|
-
app_by_id = Facemock::
|
69
|
-
app_by_secret = Facemock::
|
68
|
+
app_by_id = Facemock::Application.find_by_id(@identifier)
|
69
|
+
app_by_secret = Facemock::Application.find_by_secret(@secret)
|
70
70
|
!!(app_by_id && app_by_secret && app_by_id.identifier == app_by_secret.identifier)
|
71
71
|
else
|
72
72
|
false
|
@@ -76,23 +76,23 @@ module Facemock
|
|
76
76
|
def validate_identifier
|
77
77
|
return false if @identifier.nil? || @identifier == ""
|
78
78
|
return false unless [Fixnum, String].include?(@identifier.class)
|
79
|
-
return false unless Facemock::
|
79
|
+
return false unless Facemock::Application.find_by_id(@identifier)
|
80
80
|
true
|
81
81
|
end
|
82
82
|
|
83
83
|
def validate_secret
|
84
84
|
return false if @secret.nil? || @secret == ""
|
85
|
-
return false unless Facemock::
|
85
|
+
return false unless Facemock::Application.find_by_secret(@secret)
|
86
86
|
true
|
87
87
|
end
|
88
88
|
|
89
89
|
def validate_access_token
|
90
|
-
!!(Facemock::
|
90
|
+
!!(Facemock::User.find_by_access_token(@access_token))
|
91
91
|
end
|
92
92
|
|
93
93
|
def find_by_access_token
|
94
|
-
if user = Facemock::
|
95
|
-
Facemock::
|
94
|
+
if user = Facemock::User.find_by_access_token(@access_token)
|
95
|
+
Facemock::Application.find_by_id(user.application_id)
|
96
96
|
else
|
97
97
|
nil
|
98
98
|
end
|
@@ -1,8 +1,11 @@
|
|
1
|
+
require 'facemock/user'
|
2
|
+
require 'facemock/permission'
|
3
|
+
|
1
4
|
module Facemock
|
2
5
|
module FbGraph
|
3
6
|
class Application
|
4
|
-
class User < Facemock::
|
5
|
-
class Permission < Facemock::
|
7
|
+
class User < Facemock::User
|
8
|
+
class Permission < Facemock::Permission
|
6
9
|
end
|
7
10
|
end
|
8
11
|
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'fb_graph'
|
2
|
+
|
3
|
+
module Facemock
|
4
|
+
module FbGraph
|
5
|
+
class Exception < ::FbGraph::Exception; end
|
6
|
+
class BadRequest < ::FbGraph::BadRequest; end
|
7
|
+
class Unauthorized < ::FbGraph::Unauthorized; end
|
8
|
+
class NotFound < ::FbGraph::NotFound; end
|
9
|
+
class InternalServerError < ::FbGraph::InternalServerError; end
|
10
|
+
class InvalidToken < ::FbGraph::InvalidToken; end
|
11
|
+
class InvalidSession < ::FbGraph::InvalidSession; end
|
12
|
+
class InvalidRequest < ::FbGraph::InvalidRequest; end
|
13
|
+
class CreativeNotSaved < ::FbGraph::CreativeNotSaved; end
|
14
|
+
class QueryLockTimeout < ::FbGraph::QueryLockTimeout; end
|
15
|
+
class TargetingSpecNotSaved < ::FbGraph::TargetingSpecNotSaved; end
|
16
|
+
class AdgroupFetchFailure < ::FbGraph::AdgroupFetchFailure; end
|
17
|
+
class OpenProcessFailure < ::FbGraph::OpenProcessFailure; end
|
18
|
+
class TransactionCommitFailure < ::FbGraph::TransactionCommitFailure; end
|
19
|
+
class QueryError < ::FbGraph::QueryError; end
|
20
|
+
class QueryConnection < ::FbGraph::QueryConnection; end
|
21
|
+
class QueryDuplicateKey < ::FbGraph::QueryDuplicateKey; end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'facemock/database/table'
|
2
|
+
|
3
|
+
module Facemock
|
4
|
+
class Permission < Database::Table
|
5
|
+
TABLE_NAME = :permissions
|
6
|
+
COLUMN_NAMES = [:id, :name, :user_id, :created_at]
|
7
|
+
|
8
|
+
def initialize(options={})
|
9
|
+
opts = Hashie::Mash.new(options)
|
10
|
+
@id = opts.id
|
11
|
+
@name = opts.name
|
12
|
+
@user_id = opts.user_id
|
13
|
+
@created_at = opts.created_at
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'facemock/database/table'
|
2
|
+
require 'facemock/permission'
|
3
|
+
require 'facemock/authorization_code'
|
4
|
+
|
5
|
+
module Facemock
|
6
|
+
class User < Database::Table
|
7
|
+
TABLE_NAME = :users
|
8
|
+
COLUMN_NAMES = [:id, :name, :email, :password, :installed, :access_token, :application_id, :created_at]
|
9
|
+
CHILDREN = [ Permission, AuthorizationCode ]
|
10
|
+
|
11
|
+
def initialize(options={})
|
12
|
+
opts = Hashie::Mash.new(options)
|
13
|
+
@id = (opts.id.to_i > 0) ? opts.id.to_i : ("10000" + (0..9).to_a.shuffle[0..10].join).to_i
|
14
|
+
@name = opts.name || rand(36**10).to_s(36)
|
15
|
+
@email = opts.email || name.gsub(" ", "_") + "@example.com"
|
16
|
+
@password = opts.password || rand(36**10).to_s(36)
|
17
|
+
@installed = opts.installed || false
|
18
|
+
@access_token = opts.access_token || Digest::SHA512.hexdigest(identifier.to_s)
|
19
|
+
app_id = opts.application_id.to_i
|
20
|
+
@application_id = (app_id > 0) ? app_id : nil
|
21
|
+
@created_at = opts.created_at
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
data/lib/facemock/version.rb
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe Facemock::
|
3
|
+
describe Facemock::Application do
|
4
4
|
include TableHelper
|
5
5
|
|
6
6
|
let(:db_name) { ".test" }
|
7
7
|
|
8
8
|
let(:table_name) { :applications }
|
9
9
|
let(:column_names) { [ :id, :secret, :created_at ] }
|
10
|
-
let(:children) { [ Facemock::
|
10
|
+
let(:children) { [ Facemock::User ] }
|
11
11
|
|
12
12
|
let(:id) { 1 }
|
13
13
|
let(:secret) { "test_secret" }
|
@@ -17,65 +17,65 @@ describe Facemock::Database::Application do
|
|
17
17
|
after { remove_dynamically_defined_all_method }
|
18
18
|
|
19
19
|
describe '::TABLE_NAME' do
|
20
|
-
subject { Facemock::
|
20
|
+
subject { Facemock::Application::TABLE_NAME }
|
21
21
|
it { is_expected.to eq table_name }
|
22
22
|
end
|
23
23
|
|
24
24
|
describe '::COLUMN_NAMES' do
|
25
|
-
subject { Facemock::
|
25
|
+
subject { Facemock::Application::COLUMN_NAMES }
|
26
26
|
it { is_expected.to eq column_names }
|
27
27
|
end
|
28
28
|
|
29
29
|
describe '::CHILDREN' do
|
30
|
-
subject { Facemock::
|
30
|
+
subject { Facemock::Application::CHILDREN }
|
31
31
|
it { is_expected.to eq children }
|
32
32
|
end
|
33
33
|
|
34
34
|
describe '#initialize' do
|
35
35
|
context 'without option' do
|
36
|
-
subject { Facemock::
|
37
|
-
it { is_expected.to be_kind_of Facemock::
|
36
|
+
subject { Facemock::Application.new }
|
37
|
+
it { is_expected.to be_kind_of Facemock::Application }
|
38
38
|
|
39
39
|
describe '.id' do
|
40
|
-
subject { Facemock::
|
40
|
+
subject { Facemock::Application.new.id }
|
41
41
|
it { is_expected.to be > 0 }
|
42
42
|
end
|
43
43
|
|
44
44
|
describe '.secret' do
|
45
|
-
subject { Facemock::
|
45
|
+
subject { Facemock::Application.new.secret }
|
46
46
|
it { is_expected.to be_kind_of String }
|
47
47
|
|
48
48
|
describe '.size' do
|
49
|
-
subject { Facemock::
|
49
|
+
subject { Facemock::Application.new.secret.size }
|
50
50
|
it { is_expected.to be <= 32 }
|
51
51
|
end
|
52
52
|
end
|
53
53
|
|
54
54
|
describe '.created_at' do
|
55
|
-
subject { Facemock::
|
55
|
+
subject { Facemock::Application.new.created_at }
|
56
56
|
it { is_expected.to be_nil }
|
57
57
|
end
|
58
58
|
end
|
59
59
|
|
60
60
|
context 'with id option but it is not integer' do
|
61
61
|
before { @opts = { id: "test_id" } }
|
62
|
-
subject { Facemock::
|
63
|
-
it { is_expected.to be_kind_of Facemock::
|
62
|
+
subject { Facemock::Application.new(@opts) }
|
63
|
+
it { is_expected.to be_kind_of Facemock::Application }
|
64
64
|
|
65
65
|
describe '.id' do
|
66
|
-
subject { Facemock::
|
66
|
+
subject { Facemock::Application.new(@opts).id }
|
67
67
|
it { is_expected.to be > 0 }
|
68
68
|
end
|
69
69
|
end
|
70
70
|
|
71
71
|
context 'with all options' do
|
72
|
-
subject { Facemock::
|
73
|
-
it { is_expected.to be_kind_of Facemock::
|
72
|
+
subject { Facemock::Application.new(options) }
|
73
|
+
it { is_expected.to be_kind_of Facemock::Application }
|
74
74
|
|
75
75
|
context 'then attributes' do
|
76
76
|
it 'should set specified values by option' do
|
77
77
|
column_names.each do |column_name|
|
78
|
-
value = Facemock::
|
78
|
+
value = Facemock::Application.new(options).send(column_name)
|
79
79
|
expect(value).to eq options[column_name]
|
80
80
|
end
|
81
81
|
end
|
@@ -92,13 +92,13 @@ describe Facemock::Database::Application do
|
|
92
92
|
|
93
93
|
context 'when has user' do
|
94
94
|
before do
|
95
|
-
@application = Facemock::
|
96
|
-
Facemock::
|
95
|
+
@application = Facemock::Application.create!
|
96
|
+
Facemock::User.create!(application_id: @application.id)
|
97
97
|
end
|
98
98
|
|
99
99
|
it 'should delete permissions' do
|
100
100
|
@application.destroy
|
101
|
-
users = Facemock::
|
101
|
+
users = Facemock::User.find_all_by_application_id(@application.id)
|
102
102
|
expect(users).to be_empty
|
103
103
|
end
|
104
104
|
end
|
@@ -118,8 +118,8 @@ describe Facemock::Config do
|
|
118
118
|
begin
|
119
119
|
Facemock::Config.load_users(@path)
|
120
120
|
rescue => error
|
121
|
-
expect(Facemock::
|
122
|
-
expect(Facemock::
|
121
|
+
expect(Facemock::Application.all).to be_empty
|
122
|
+
expect(Facemock::User.all).to be_empty
|
123
123
|
end
|
124
124
|
end
|
125
125
|
end
|
@@ -172,8 +172,8 @@ describe Facemock::Config do
|
|
172
172
|
app_count = yaml_load_data.size
|
173
173
|
user_count = yaml_load_data.inject(0){|count, data| count += data[:users].size }
|
174
174
|
Facemock::Config.load_users(@path)
|
175
|
-
expect(Facemock::
|
176
|
-
expect(Facemock::
|
175
|
+
expect(Facemock::Application.all.count).to eq app_count
|
176
|
+
expect(Facemock::User.all.count).to eq user_count
|
177
177
|
end
|
178
178
|
end
|
179
179
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe Facemock::
|
3
|
+
describe Facemock::AuthorizationCode do
|
4
4
|
include TableHelper
|
5
5
|
|
6
6
|
let(:table_name) { :authorization_codes }
|
@@ -16,29 +16,29 @@ describe Facemock::Database::AuthorizationCode do
|
|
16
16
|
after { remove_dynamically_defined_all_method }
|
17
17
|
|
18
18
|
describe '::TABLE_NAME' do
|
19
|
-
subject { Facemock::
|
19
|
+
subject { Facemock::AuthorizationCode::TABLE_NAME }
|
20
20
|
it { is_expected.to eq table_name }
|
21
21
|
end
|
22
22
|
|
23
23
|
describe '::COLUMN_NAMES' do
|
24
|
-
subject { Facemock::
|
24
|
+
subject { Facemock::AuthorizationCode::COLUMN_NAMES }
|
25
25
|
it { is_expected.to eq column_names }
|
26
26
|
end
|
27
27
|
|
28
28
|
describe '::CHILDREN' do
|
29
|
-
subject { Facemock::
|
29
|
+
subject { Facemock::AuthorizationCode::CHILDREN }
|
30
30
|
it { is_expected.to eq children }
|
31
31
|
end
|
32
32
|
|
33
33
|
describe '#initialize' do
|
34
34
|
context 'without option' do
|
35
|
-
subject { Facemock::
|
36
|
-
it { is_expected.to be_kind_of Facemock::
|
35
|
+
subject { Facemock::AuthorizationCode.new }
|
36
|
+
it { is_expected.to be_kind_of Facemock::AuthorizationCode }
|
37
37
|
|
38
38
|
context 'then attributes' do
|
39
39
|
it 'should be nil except string' do
|
40
40
|
column_names.each do |column_name|
|
41
|
-
value = Facemock::
|
41
|
+
value = Facemock::AuthorizationCode.new.send(column_name)
|
42
42
|
if column_name == :string
|
43
43
|
expect(value).not_to be_nil
|
44
44
|
else
|
@@ -50,8 +50,8 @@ describe Facemock::Database::AuthorizationCode do
|
|
50
50
|
|
51
51
|
context 'then string' do
|
52
52
|
it 'should be random string' do
|
53
|
-
string1 = Facemock::
|
54
|
-
string2 = Facemock::
|
53
|
+
string1 = Facemock::AuthorizationCode.new.string
|
54
|
+
string2 = Facemock::AuthorizationCode.new.string
|
55
55
|
expect(string1).to be_kind_of String
|
56
56
|
expect(string1.size).to be < 256
|
57
57
|
expect(string1).not_to eq string2
|
@@ -60,13 +60,13 @@ describe Facemock::Database::AuthorizationCode do
|
|
60
60
|
end
|
61
61
|
|
62
62
|
context 'with all options' do
|
63
|
-
subject { Facemock::
|
64
|
-
it { is_expected.to be_kind_of Facemock::
|
63
|
+
subject { Facemock::AuthorizationCode.new(options) }
|
64
|
+
it { is_expected.to be_kind_of Facemock::AuthorizationCode }
|
65
65
|
|
66
66
|
context 'then attributes' do
|
67
67
|
it 'should set specified value by option' do
|
68
68
|
column_names.each do |column_name|
|
69
|
-
value = Facemock::
|
69
|
+
value = Facemock::AuthorizationCode.new(options).send(column_name)
|
70
70
|
expect(value).to eq options[column_name]
|
71
71
|
end
|
72
72
|
end
|
@@ -16,7 +16,7 @@ describe Facemock::FbGraph::Application do
|
|
16
16
|
after { @database.drop }
|
17
17
|
|
18
18
|
describe '#new' do
|
19
|
-
before { @default_record_size = Facemock::
|
19
|
+
before { @default_record_size = Facemock::Application.all.size }
|
20
20
|
|
21
21
|
context 'without argument' do
|
22
22
|
subject { lambda { Facemock::FbGraph::Application.new } }
|
@@ -29,7 +29,7 @@ describe Facemock::FbGraph::Application do
|
|
29
29
|
expect(@app.identifier).to eq @id
|
30
30
|
expect(@app.secret).to be_nil
|
31
31
|
expect(@app.access_token).to be_nil
|
32
|
-
expect(Facemock::
|
32
|
+
expect(Facemock::Application.all.size).to eq @default_record_size
|
33
33
|
end
|
34
34
|
end
|
35
35
|
|
@@ -57,7 +57,7 @@ describe Facemock::FbGraph::Application do
|
|
57
57
|
expect(@app.identifier).to eq @id
|
58
58
|
expect(@app.secret).to be_nil
|
59
59
|
expect(@app.access_token).to be_nil
|
60
|
-
expect(Facemock::
|
60
|
+
expect(Facemock::Application.all.size).to eq @default_record_size
|
61
61
|
end
|
62
62
|
end
|
63
63
|
|
@@ -71,7 +71,7 @@ describe Facemock::FbGraph::Application do
|
|
71
71
|
expect(@app.identifier).to eq facebook_app_id
|
72
72
|
expect(@app.secret).to eq @options[:secret]
|
73
73
|
expect(@app.access_token).to eq @options[:access_token]
|
74
|
-
expect(Facemock::
|
74
|
+
expect(Facemock::Application.all.size).to eq @default_record_size
|
75
75
|
end
|
76
76
|
end
|
77
77
|
end
|
@@ -0,0 +1,90 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Facemock::FbGraph::Exception do
|
4
|
+
describe 'Exception' do
|
5
|
+
subject { Facemock::FbGraph::Exception }
|
6
|
+
it { is_expected.not_to be_nil }
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
describe Facemock::FbGraph do
|
11
|
+
describe 'BadRequest' do
|
12
|
+
subject { Facemock::FbGraph::BadRequest.ancestors }
|
13
|
+
it { is_expected.to include ::FbGraph::BadRequest }
|
14
|
+
end
|
15
|
+
|
16
|
+
describe 'Unauthorized' do
|
17
|
+
subject { Facemock::FbGraph::Unauthorized.ancestors }
|
18
|
+
it { is_expected.to include ::FbGraph::Unauthorized }
|
19
|
+
end
|
20
|
+
|
21
|
+
describe 'NotFound' do
|
22
|
+
subject { Facemock::FbGraph::NotFound.ancestors }
|
23
|
+
it { is_expected.to include ::FbGraph::NotFound }
|
24
|
+
end
|
25
|
+
|
26
|
+
describe 'InternalServerError' do
|
27
|
+
subject { Facemock::FbGraph::InternalServerError.ancestors }
|
28
|
+
it { is_expected.to include ::FbGraph::InternalServerError }
|
29
|
+
end
|
30
|
+
|
31
|
+
describe 'InvalidToken' do
|
32
|
+
subject { Facemock::FbGraph::InvalidToken.ancestors }
|
33
|
+
it { is_expected.to include ::FbGraph::InvalidToken }
|
34
|
+
end
|
35
|
+
|
36
|
+
describe 'InvalidSession' do
|
37
|
+
subject { Facemock::FbGraph::InvalidSession.ancestors }
|
38
|
+
it { is_expected.to include ::FbGraph::InvalidSession }
|
39
|
+
end
|
40
|
+
|
41
|
+
describe 'InvalidRequest' do
|
42
|
+
subject { Facemock::FbGraph::InvalidRequest.ancestors }
|
43
|
+
it { is_expected.to include ::FbGraph::InvalidRequest }
|
44
|
+
end
|
45
|
+
|
46
|
+
describe 'CreativeNotSaved' do
|
47
|
+
subject { Facemock::FbGraph::CreativeNotSaved.ancestors }
|
48
|
+
it { is_expected.to include ::FbGraph::CreativeNotSaved }
|
49
|
+
end
|
50
|
+
|
51
|
+
describe 'QueryLockTimeout' do
|
52
|
+
subject { Facemock::FbGraph::QueryLockTimeout.ancestors }
|
53
|
+
it { is_expected.to include ::FbGraph::QueryLockTimeout }
|
54
|
+
end
|
55
|
+
|
56
|
+
describe 'TargetingSpecNotSaved' do
|
57
|
+
subject { Facemock::FbGraph::TargetingSpecNotSaved.ancestors }
|
58
|
+
it { is_expected.to include ::FbGraph::TargetingSpecNotSaved }
|
59
|
+
end
|
60
|
+
|
61
|
+
describe 'AdgroupFetchFailure' do
|
62
|
+
subject { Facemock::FbGraph::AdgroupFetchFailure.ancestors }
|
63
|
+
it { is_expected.to include ::FbGraph::AdgroupFetchFailure }
|
64
|
+
end
|
65
|
+
|
66
|
+
describe 'OpenProcessFailure' do
|
67
|
+
subject { Facemock::FbGraph::OpenProcessFailure.ancestors }
|
68
|
+
it { is_expected.to include ::FbGraph::OpenProcessFailure }
|
69
|
+
end
|
70
|
+
|
71
|
+
describe 'TransactionCommitFailure' do
|
72
|
+
subject { Facemock::FbGraph::TransactionCommitFailure.ancestors }
|
73
|
+
it { is_expected.to include ::FbGraph::TransactionCommitFailure }
|
74
|
+
end
|
75
|
+
|
76
|
+
describe 'QueryError' do
|
77
|
+
subject { Facemock::FbGraph::QueryError.ancestors }
|
78
|
+
it { is_expected.to include ::FbGraph::QueryError }
|
79
|
+
end
|
80
|
+
|
81
|
+
describe 'QueryConnection' do
|
82
|
+
subject { Facemock::FbGraph::QueryConnection.ancestors }
|
83
|
+
it { is_expected.to include ::FbGraph::QueryConnection }
|
84
|
+
end
|
85
|
+
|
86
|
+
describe 'QueryDupulicateKey' do
|
87
|
+
subject { Facemock::FbGraph::QueryDuplicateKey.ancestors }
|
88
|
+
it { is_expected.to include ::FbGraph::QueryDuplicateKey }
|
89
|
+
end
|
90
|
+
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe Facemock::
|
3
|
+
describe Facemock::Permission do
|
4
4
|
include TableHelper
|
5
5
|
|
6
6
|
let(:table_name) { :permissions }
|
@@ -16,29 +16,29 @@ describe Facemock::Database::Permission do
|
|
16
16
|
after { remove_dynamically_defined_all_method }
|
17
17
|
|
18
18
|
describe '::TABLE_NAME' do
|
19
|
-
subject { Facemock::
|
19
|
+
subject { Facemock::Permission::TABLE_NAME }
|
20
20
|
it { is_expected.to eq table_name }
|
21
21
|
end
|
22
22
|
|
23
23
|
describe '::COLUMN_NAMES' do
|
24
|
-
subject { Facemock::
|
24
|
+
subject { Facemock::Permission::COLUMN_NAMES }
|
25
25
|
it { is_expected.to eq column_names }
|
26
26
|
end
|
27
27
|
|
28
28
|
describe '::CHILDREN' do
|
29
|
-
subject { Facemock::
|
29
|
+
subject { Facemock::Permission::CHILDREN }
|
30
30
|
it { is_expected.to eq children }
|
31
31
|
end
|
32
32
|
|
33
33
|
describe '#initialize' do
|
34
34
|
context 'without option' do
|
35
|
-
subject { Facemock::
|
36
|
-
it { is_expected.to be_kind_of Facemock::
|
35
|
+
subject { Facemock::Permission.new }
|
36
|
+
it { is_expected.to be_kind_of Facemock::Permission }
|
37
37
|
|
38
38
|
context 'then attributes' do
|
39
39
|
it 'should be nil' do
|
40
40
|
column_names.each do |column_name|
|
41
|
-
value = Facemock::
|
41
|
+
value = Facemock::Permission.new.send(column_name)
|
42
42
|
expect(value).to be_nil
|
43
43
|
end
|
44
44
|
end
|
@@ -46,13 +46,13 @@ describe Facemock::Database::Permission do
|
|
46
46
|
end
|
47
47
|
|
48
48
|
context 'with all options' do
|
49
|
-
subject { Facemock::
|
50
|
-
it { is_expected.to be_kind_of Facemock::
|
49
|
+
subject { Facemock::Permission.new(options) }
|
50
|
+
it { is_expected.to be_kind_of Facemock::Permission }
|
51
51
|
|
52
52
|
context 'then attributes' do
|
53
53
|
it 'should set specified value by option' do
|
54
54
|
column_names.each do |column_name|
|
55
|
-
value = Facemock::
|
55
|
+
value = Facemock::Permission.new(options).send(column_name)
|
56
56
|
expect(value).to eq options[column_name]
|
57
57
|
end
|
58
58
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe Facemock::
|
3
|
+
describe Facemock::User do
|
4
4
|
include TableHelper
|
5
5
|
|
6
6
|
let(:db_name) { ".test" }
|
@@ -13,8 +13,8 @@ describe Facemock::Database::User do
|
|
13
13
|
:access_token,
|
14
14
|
:application_id,
|
15
15
|
:created_at ] }
|
16
|
-
let(:children) { [ Facemock::
|
17
|
-
Facemock::
|
16
|
+
let(:children) { [ Facemock::Permission,
|
17
|
+
Facemock::AuthorizationCode ] }
|
18
18
|
|
19
19
|
let(:id) { 1 }
|
20
20
|
let(:name) { "test user" }
|
@@ -36,91 +36,91 @@ describe Facemock::Database::User do
|
|
36
36
|
after { remove_dynamically_defined_all_method }
|
37
37
|
|
38
38
|
describe '::TABLE_NAME' do
|
39
|
-
subject { Facemock::
|
39
|
+
subject { Facemock::User::TABLE_NAME }
|
40
40
|
it { is_expected.to eq table_name }
|
41
41
|
end
|
42
42
|
|
43
43
|
describe '::COLUMN_NAMES' do
|
44
|
-
subject { Facemock::
|
44
|
+
subject { Facemock::User::COLUMN_NAMES }
|
45
45
|
it { is_expected.to eq column_names }
|
46
46
|
end
|
47
47
|
|
48
48
|
describe '::CHILDREN' do
|
49
|
-
subject { Facemock::
|
49
|
+
subject { Facemock::User::CHILDREN }
|
50
50
|
it { is_expected.to eq children }
|
51
51
|
end
|
52
52
|
|
53
53
|
describe '#initialize' do
|
54
54
|
context 'without option' do
|
55
|
-
subject { Facemock::
|
56
|
-
it { is_expected.to be_kind_of Facemock::
|
55
|
+
subject { Facemock::User.new }
|
56
|
+
it { is_expected.to be_kind_of Facemock::User }
|
57
57
|
|
58
58
|
describe '.id' do
|
59
|
-
subject { Facemock::
|
59
|
+
subject { Facemock::User.new.id }
|
60
60
|
it { is_expected.to be > 0 }
|
61
61
|
it { is_expected.to be < 100010000000000 }
|
62
62
|
end
|
63
63
|
|
64
64
|
describe '.name' do
|
65
|
-
subject { Facemock::
|
65
|
+
subject { Facemock::User.new.name }
|
66
66
|
it { is_expected.to be_kind_of String }
|
67
67
|
|
68
68
|
describe '.size' do
|
69
|
-
subject { Facemock::
|
69
|
+
subject { Facemock::User.new.name.size }
|
70
70
|
it { is_expected.to be <= 10 }
|
71
71
|
end
|
72
72
|
end
|
73
73
|
|
74
74
|
describe '.email' do
|
75
|
-
before { @user = Facemock::
|
75
|
+
before { @user = Facemock::User.new }
|
76
76
|
subject { @user.email }
|
77
77
|
it { is_expected.to be_kind_of String }
|
78
78
|
it { is_expected.to eq "#{@user.name}@example.com" }
|
79
79
|
end
|
80
80
|
|
81
81
|
describe '.password' do
|
82
|
-
subject { Facemock::
|
82
|
+
subject { Facemock::User.new.password }
|
83
83
|
it { is_expected.to be_kind_of String }
|
84
84
|
|
85
85
|
describe '.size' do
|
86
|
-
subject { Facemock::
|
86
|
+
subject { Facemock::User.new.password.size }
|
87
87
|
it { is_expected.to be <= 10 }
|
88
88
|
end
|
89
89
|
end
|
90
90
|
|
91
91
|
describe '.installed' do
|
92
|
-
subject { Facemock::
|
92
|
+
subject { Facemock::User.new.installed }
|
93
93
|
it { is_expected.to eq false }
|
94
94
|
end
|
95
95
|
|
96
96
|
describe '.access_token' do
|
97
|
-
subject { Facemock::
|
97
|
+
subject { Facemock::User.new.access_token }
|
98
98
|
it { is_expected.to be_kind_of String }
|
99
99
|
|
100
100
|
describe '.size' do
|
101
|
-
subject { Facemock::
|
101
|
+
subject { Facemock::User.new.access_token.size }
|
102
102
|
it { is_expected.to eq 128 }
|
103
103
|
end
|
104
104
|
end
|
105
105
|
|
106
106
|
describe '.application_id' do
|
107
|
-
subject { Facemock::
|
107
|
+
subject { Facemock::User.new.application_id }
|
108
108
|
it { is_expected.to be_nil }
|
109
109
|
end
|
110
110
|
|
111
111
|
describe '.created_at' do
|
112
|
-
subject { Facemock::
|
112
|
+
subject { Facemock::User.new.created_at }
|
113
113
|
it { is_expected.to be_nil }
|
114
114
|
end
|
115
115
|
end
|
116
116
|
|
117
117
|
context 'with id option but it is not integer' do
|
118
118
|
before { @opts = { id: "test_id" } }
|
119
|
-
subject { Facemock::
|
120
|
-
it { is_expected.to be_kind_of Facemock::
|
119
|
+
subject { Facemock::User.new(@opts) }
|
120
|
+
it { is_expected.to be_kind_of Facemock::User }
|
121
121
|
|
122
122
|
describe '.id' do
|
123
|
-
subject { Facemock::
|
123
|
+
subject { Facemock::User.new(@opts).id }
|
124
124
|
it { is_expected.to be > 0 }
|
125
125
|
it { is_expected.to be < 100010000000000 }
|
126
126
|
end
|
@@ -128,11 +128,11 @@ describe Facemock::Database::User do
|
|
128
128
|
|
129
129
|
context 'with application_id option but it is not integer' do
|
130
130
|
before { @opts = { application_id: "test_id" } }
|
131
|
-
subject { Facemock::
|
132
|
-
it { is_expected.to be_kind_of Facemock::
|
131
|
+
subject { Facemock::User.new(@opts) }
|
132
|
+
it { is_expected.to be_kind_of Facemock::User }
|
133
133
|
|
134
134
|
describe '.application_id' do
|
135
|
-
subject { Facemock::
|
135
|
+
subject { Facemock::User.new(@opts).application_id }
|
136
136
|
it { is_expected.to be_nil }
|
137
137
|
end
|
138
138
|
end
|
@@ -142,28 +142,28 @@ describe Facemock::Database::User do
|
|
142
142
|
@name = "test user"
|
143
143
|
@opts = { name: @name }
|
144
144
|
end
|
145
|
-
subject { Facemock::
|
146
|
-
it { is_expected.to be_kind_of Facemock::
|
145
|
+
subject { Facemock::User.new(@opts) }
|
146
|
+
it { is_expected.to be_kind_of Facemock::User }
|
147
147
|
|
148
148
|
context '.name' do
|
149
|
-
subject { Facemock::
|
149
|
+
subject { Facemock::User.new(@opts).name }
|
150
150
|
it { is_expected.to eq @name }
|
151
151
|
end
|
152
152
|
|
153
153
|
context '.email' do
|
154
|
-
subject { Facemock::
|
154
|
+
subject { Facemock::User.new(@opts).email }
|
155
155
|
it { is_expected.to eq @name.gsub(" ", "_") + "@example.com" }
|
156
156
|
end
|
157
157
|
end
|
158
158
|
|
159
159
|
context 'with all options' do
|
160
|
-
subject { Facemock::
|
161
|
-
it { is_expected.to be_kind_of Facemock::
|
160
|
+
subject { Facemock::User.new(options) }
|
161
|
+
it { is_expected.to be_kind_of Facemock::User }
|
162
162
|
|
163
163
|
context 'then attributes' do
|
164
164
|
it 'should set specified value by option' do
|
165
165
|
column_names.each do |column_name|
|
166
|
-
value = Facemock::
|
166
|
+
value = Facemock::User.new(options).send(column_name)
|
167
167
|
expect(value).to eq options[column_name]
|
168
168
|
end
|
169
169
|
end
|
@@ -180,19 +180,19 @@ describe Facemock::Database::User do
|
|
180
180
|
|
181
181
|
context 'when has permission and authorizaion_code' do
|
182
182
|
before do
|
183
|
-
application = Facemock::
|
184
|
-
@user = Facemock::
|
185
|
-
permission = Facemock::
|
183
|
+
application = Facemock::Application.create!
|
184
|
+
@user = Facemock::User.create!(application_id: application.id)
|
185
|
+
permission = Facemock::Permission.new(name: "email", user_id: @user.id)
|
186
186
|
permission.save!
|
187
|
-
authorization_code = Facemock::
|
187
|
+
authorization_code = Facemock::AuthorizationCode.new(user_id: @user.id)
|
188
188
|
authorization_code.save!
|
189
189
|
end
|
190
190
|
|
191
191
|
it 'should delete permissions' do
|
192
192
|
@user.destroy
|
193
|
-
permissions = Facemock::
|
193
|
+
permissions = Facemock::Permission.find_all_by_user_id(@user.id)
|
194
194
|
expect(permissions).to be_empty
|
195
|
-
authorization_codes = Facemock::
|
195
|
+
authorization_codes = Facemock::AuthorizationCode.find_all_by_user_id(@user.id)
|
196
196
|
expect(authorization_codes).to be_empty
|
197
197
|
end
|
198
198
|
end
|
data/spec/facemock_spec.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Facemock do
|
4
|
-
let(:version) { '0.0.
|
4
|
+
let(:version) { '0.0.8' }
|
5
5
|
let(:db_name) { '.test' }
|
6
6
|
|
7
7
|
describe 'VERSION' do
|
@@ -77,8 +77,8 @@ describe Facemock do
|
|
77
77
|
before do
|
78
78
|
stub_const("Facemock::Database::DEFAULT_DB_NAME", db_name)
|
79
79
|
@database = Facemock::Database.new
|
80
|
-
application = Facemock::
|
81
|
-
@user = Facemock::
|
80
|
+
application = Facemock::Application.create!
|
81
|
+
@user = Facemock::User.create!(application_id: application.id)
|
82
82
|
@access_token = @user.access_token
|
83
83
|
end
|
84
84
|
after { @database.drop }
|
@@ -1,10 +1,10 @@
|
|
1
1
|
module TableHelper
|
2
2
|
def remove_dynamically_defined_all_method
|
3
3
|
klasses = [Facemock::Database::Table,
|
4
|
-
Facemock::
|
5
|
-
Facemock::
|
6
|
-
Facemock::
|
7
|
-
Facemock::
|
4
|
+
Facemock::Application,
|
5
|
+
Facemock::User,
|
6
|
+
Facemock::Permission,
|
7
|
+
Facemock::AuthorizationCode ]
|
8
8
|
klasses.each do |klass|
|
9
9
|
remove_dynamically_defined_class_method(klass)
|
10
10
|
remove_dynamically_defined_instance_method(klass)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: facemock
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.8
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-09-
|
12
|
+
date: 2014-09-08 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: sqlite3
|
@@ -190,36 +190,38 @@ files:
|
|
190
190
|
- db/.gitkeep
|
191
191
|
- facemock.gemspec
|
192
192
|
- lib/facemock.rb
|
193
|
+
- lib/facemock/application.rb
|
193
194
|
- lib/facemock/auth_hash.rb
|
195
|
+
- lib/facemock/authorization_code.rb
|
194
196
|
- lib/facemock/config.rb
|
195
197
|
- lib/facemock/database.rb
|
196
|
-
- lib/facemock/database/application.rb
|
197
|
-
- lib/facemock/database/authorization_code.rb
|
198
|
-
- lib/facemock/database/permission.rb
|
199
198
|
- lib/facemock/database/table.rb
|
200
|
-
- lib/facemock/database/user.rb
|
201
199
|
- lib/facemock/errors.rb
|
202
200
|
- lib/facemock/fb_graph.rb
|
203
201
|
- lib/facemock/fb_graph/application.rb
|
204
202
|
- lib/facemock/fb_graph/application/test_users.rb
|
205
203
|
- lib/facemock/fb_graph/application/user.rb
|
206
204
|
- lib/facemock/fb_graph/application/user/permission.rb
|
205
|
+
- lib/facemock/fb_graph/exception.rb
|
207
206
|
- lib/facemock/fb_graph/user.rb
|
207
|
+
- lib/facemock/permission.rb
|
208
|
+
- lib/facemock/user.rb
|
208
209
|
- lib/facemock/version.rb
|
210
|
+
- spec/facemock/application_spec.rb
|
209
211
|
- spec/facemock/auth_hash_spec.rb
|
210
212
|
- spec/facemock/config_spec.rb
|
211
|
-
- spec/facemock/database/application_spec.rb
|
212
213
|
- spec/facemock/database/authorization_code.rb
|
213
|
-
- spec/facemock/database/permission_spec.rb
|
214
214
|
- spec/facemock/database/table_spec.rb
|
215
|
-
- spec/facemock/database/user_spec.rb
|
216
215
|
- spec/facemock/database_spec.rb
|
217
216
|
- spec/facemock/errors_spec.rb
|
218
217
|
- spec/facemock/fb_graph/application/test_users_spec.rb
|
219
218
|
- spec/facemock/fb_graph/application/user_spec.rb
|
220
219
|
- spec/facemock/fb_graph/application_spec.rb
|
220
|
+
- spec/facemock/fb_graph/exeption_spec.rb
|
221
221
|
- spec/facemock/fb_graph/user_spec.rb
|
222
222
|
- spec/facemock/fb_graph_spec.rb
|
223
|
+
- spec/facemock/permission_spec.rb
|
224
|
+
- spec/facemock/user_spec.rb
|
223
225
|
- spec/facemock_spec.rb
|
224
226
|
- spec/spec_helper.rb
|
225
227
|
- spec/support/application_create_helper.rb
|
@@ -239,7 +241,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
239
241
|
version: '0'
|
240
242
|
segments:
|
241
243
|
- 0
|
242
|
-
hash:
|
244
|
+
hash: 1294869249957825564
|
243
245
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
244
246
|
none: false
|
245
247
|
requirements:
|
@@ -248,7 +250,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
248
250
|
version: '0'
|
249
251
|
segments:
|
250
252
|
- 0
|
251
|
-
hash:
|
253
|
+
hash: 1294869249957825564
|
252
254
|
requirements: []
|
253
255
|
rubyforge_project:
|
254
256
|
rubygems_version: 1.8.25
|
@@ -256,20 +258,21 @@ signing_key:
|
|
256
258
|
specification_version: 3
|
257
259
|
summary: This is facebook mock application for fb_graph.
|
258
260
|
test_files:
|
261
|
+
- spec/facemock/application_spec.rb
|
259
262
|
- spec/facemock/auth_hash_spec.rb
|
260
263
|
- spec/facemock/config_spec.rb
|
261
|
-
- spec/facemock/database/application_spec.rb
|
262
264
|
- spec/facemock/database/authorization_code.rb
|
263
|
-
- spec/facemock/database/permission_spec.rb
|
264
265
|
- spec/facemock/database/table_spec.rb
|
265
|
-
- spec/facemock/database/user_spec.rb
|
266
266
|
- spec/facemock/database_spec.rb
|
267
267
|
- spec/facemock/errors_spec.rb
|
268
268
|
- spec/facemock/fb_graph/application/test_users_spec.rb
|
269
269
|
- spec/facemock/fb_graph/application/user_spec.rb
|
270
270
|
- spec/facemock/fb_graph/application_spec.rb
|
271
|
+
- spec/facemock/fb_graph/exeption_spec.rb
|
271
272
|
- spec/facemock/fb_graph/user_spec.rb
|
272
273
|
- spec/facemock/fb_graph_spec.rb
|
274
|
+
- spec/facemock/permission_spec.rb
|
275
|
+
- spec/facemock/user_spec.rb
|
273
276
|
- spec/facemock_spec.rb
|
274
277
|
- spec/spec_helper.rb
|
275
278
|
- spec/support/application_create_helper.rb
|
@@ -1,20 +0,0 @@
|
|
1
|
-
require 'facemock/database/table'
|
2
|
-
require 'facemock/database/user'
|
3
|
-
|
4
|
-
module Facemock
|
5
|
-
class Database
|
6
|
-
class Application < Table
|
7
|
-
TABLE_NAME = :applications
|
8
|
-
COLUMN_NAMES = [:id, :secret, :created_at]
|
9
|
-
CHILDREN = [ User ]
|
10
|
-
|
11
|
-
# WANT : DBに登録済みの値と重複しないようにする(id, secret)
|
12
|
-
def initialize(options={})
|
13
|
-
opts = Hashie::Mash.new(options)
|
14
|
-
@id = ( opts.id.to_i > 0 ) ? opts.id.to_i : (0..9).to_a.shuffle[0..15].join.to_i
|
15
|
-
@secret = opts.secret || rand(36**32).to_s(36)
|
16
|
-
@created_at = opts.created_at
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
@@ -1,18 +0,0 @@
|
|
1
|
-
require 'facemock/database/table'
|
2
|
-
|
3
|
-
module Facemock
|
4
|
-
class Database
|
5
|
-
class AuthorizationCode < Table
|
6
|
-
TABLE_NAME = :authorization_codes
|
7
|
-
COLUMN_NAMES = [:id, :string, :user_id, :created_at]
|
8
|
-
|
9
|
-
def initialize(options={})
|
10
|
-
opts = Hashie::Mash.new(options)
|
11
|
-
@id = opts.id
|
12
|
-
@string = opts.string || rand(36**255).to_s(36)
|
13
|
-
@user_id = opts.user_id
|
14
|
-
@created_at = opts.created_at
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
@@ -1,18 +0,0 @@
|
|
1
|
-
require 'facemock/database/table'
|
2
|
-
|
3
|
-
module Facemock
|
4
|
-
class Database
|
5
|
-
class Permission < Table
|
6
|
-
TABLE_NAME = :permissions
|
7
|
-
COLUMN_NAMES = [:id, :name, :user_id, :created_at]
|
8
|
-
|
9
|
-
def initialize(options={})
|
10
|
-
opts = Hashie::Mash.new(options)
|
11
|
-
@id = opts.id
|
12
|
-
@name = opts.name
|
13
|
-
@user_id = opts.user_id
|
14
|
-
@created_at = opts.created_at
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
@@ -1,26 +0,0 @@
|
|
1
|
-
require 'facemock/database/table'
|
2
|
-
require 'facemock/database/permission'
|
3
|
-
require 'facemock/database/authorization_code'
|
4
|
-
|
5
|
-
module Facemock
|
6
|
-
class Database
|
7
|
-
class User < Table
|
8
|
-
TABLE_NAME = :users
|
9
|
-
COLUMN_NAMES = [:id, :name, :email, :password, :installed, :access_token, :application_id, :created_at]
|
10
|
-
CHILDREN = [ Permission, AuthorizationCode ]
|
11
|
-
|
12
|
-
def initialize(options={})
|
13
|
-
opts = Hashie::Mash.new(options)
|
14
|
-
@id = (opts.id.to_i > 0) ? opts.id.to_i : ("10000" + (0..9).to_a.shuffle[0..10].join).to_i
|
15
|
-
@name = opts.name || rand(36**10).to_s(36)
|
16
|
-
@email = opts.email || name.gsub(" ", "_") + "@example.com"
|
17
|
-
@password = opts.password || rand(36**10).to_s(36)
|
18
|
-
@installed = opts.installed || false
|
19
|
-
@access_token = opts.access_token || Digest::SHA512.hexdigest(identifier.to_s)
|
20
|
-
app_id = opts.application_id.to_i
|
21
|
-
@application_id = (app_id > 0) ? app_id : nil
|
22
|
-
@created_at = opts.created_at
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|