standardapi 6.0.0.24 → 6.0.0.25
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 +4 -4
- data/lib/standard_api/controller.rb +2 -2
- data/lib/standard_api/version.rb +1 -1
- data/test/standard_api/test_app.rb +54 -0
- data/test/standard_api/test_app/config/database.yml +4 -0
- data/test/standard_api/test_app/controllers.rb +107 -0
- data/test/standard_api/test_app/log/test.log +120352 -0
- data/test/standard_api/test_app/models.rb +100 -0
- data/test/standard_api/test_app/test/factories.rb +50 -0
- data/test/standard_api/test_app/test/fixtures/photo.png +0 -0
- data/test/standard_api/test_app/views/photos/_photo.json.jbuilder +15 -0
- data/test/standard_api/test_app/views/photos/schema.json.jbuilder +1 -0
- data/test/standard_api/test_app/views/properties/edit.html.erb +1 -0
- data/test/standard_api/test_app/views/sessions/new.html.erb +0 -0
- metadata +13 -1
@@ -0,0 +1,100 @@
|
|
1
|
+
# = Models
|
2
|
+
|
3
|
+
class Account < ActiveRecord::Base
|
4
|
+
has_many :photos
|
5
|
+
belongs_to :property
|
6
|
+
end
|
7
|
+
|
8
|
+
class Photo < ActiveRecord::Base
|
9
|
+
belongs_to :account, :counter_cache => true
|
10
|
+
has_and_belongs_to_many :properties
|
11
|
+
end
|
12
|
+
|
13
|
+
class Document < ActiveRecord::Base
|
14
|
+
attr_accessor :file
|
15
|
+
end
|
16
|
+
|
17
|
+
class Pdf < Document
|
18
|
+
end
|
19
|
+
|
20
|
+
class Property < ActiveRecord::Base
|
21
|
+
has_and_belongs_to_many :landlords
|
22
|
+
has_and_belongs_to_many :photos
|
23
|
+
has_many :accounts
|
24
|
+
has_one :landlord, class_name: 'Account'
|
25
|
+
|
26
|
+
|
27
|
+
validates :name, presence: true
|
28
|
+
accepts_nested_attributes_for :photos
|
29
|
+
|
30
|
+
def english_name
|
31
|
+
'A Name'
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
# TODO: Remove, not sure why this is here and not just using account.
|
36
|
+
class Landlord < ActiveRecord::Base
|
37
|
+
has_and_belongs_to_many :properties
|
38
|
+
end
|
39
|
+
|
40
|
+
class Reference < ActiveRecord::Base
|
41
|
+
belongs_to :subject, polymorphic: true
|
42
|
+
end
|
43
|
+
|
44
|
+
# = Migration
|
45
|
+
|
46
|
+
class CreateModelTables < ActiveRecord::Migration[5.2]
|
47
|
+
|
48
|
+
def self.up
|
49
|
+
|
50
|
+
create_table "accounts", force: :cascade do |t|
|
51
|
+
t.string 'name', limit: 255
|
52
|
+
t.integer 'property_id'
|
53
|
+
t.integer 'photos_count', null: false, default: 0
|
54
|
+
end
|
55
|
+
|
56
|
+
create_table "landlords", force: :cascade do |t|
|
57
|
+
t.string "name"
|
58
|
+
end
|
59
|
+
|
60
|
+
create_table "photos", force: :cascade do |t|
|
61
|
+
t.integer "account_id"
|
62
|
+
t.integer "property_id"
|
63
|
+
t.string "format", limit: 255
|
64
|
+
end
|
65
|
+
|
66
|
+
create_table "properties", force: :cascade do |t|
|
67
|
+
t.string "name", limit: 255
|
68
|
+
t.string "aliases", default: [], array: true
|
69
|
+
t.text "description"
|
70
|
+
t.integer "constructed"
|
71
|
+
t.decimal "size"
|
72
|
+
t.datetime "created_at", null: false
|
73
|
+
t.boolean "active", default: false
|
74
|
+
end
|
75
|
+
|
76
|
+
create_table "references", force: :cascade do |t|
|
77
|
+
t.integer "subject_id"
|
78
|
+
t.string "subject_type", limit: 255
|
79
|
+
t.string "key"
|
80
|
+
t.string "value"
|
81
|
+
end
|
82
|
+
|
83
|
+
create_table "photos_properties", force: :cascade do |t|
|
84
|
+
t.integer "photo_id"
|
85
|
+
t.integer "property_id"
|
86
|
+
end
|
87
|
+
|
88
|
+
create_table "landlords_properties", force: :cascade do |t|
|
89
|
+
t.integer "landlord_id"
|
90
|
+
t.integer "property_id"
|
91
|
+
end
|
92
|
+
|
93
|
+
create_table "documents", force: :cascade do |t|
|
94
|
+
t.string 'type'
|
95
|
+
end
|
96
|
+
end
|
97
|
+
|
98
|
+
end
|
99
|
+
ActiveRecord::Migration.verbose = false
|
100
|
+
CreateModelTables.up
|
@@ -0,0 +1,50 @@
|
|
1
|
+
FactoryBot.define do
|
2
|
+
factory :account do
|
3
|
+
name { Faker::Name.name }
|
4
|
+
|
5
|
+
trait(:nested) { }
|
6
|
+
trait(:invalid) do
|
7
|
+
name { nil }
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
factory :landlord do
|
12
|
+
name { Faker::Name.name }
|
13
|
+
end
|
14
|
+
|
15
|
+
factory :photo do
|
16
|
+
format { ['jpg', 'png', 'tiff'].sample }
|
17
|
+
end
|
18
|
+
|
19
|
+
factory :document do
|
20
|
+
file { fixture_file_upload(Rails.root + 'test/fixtures/photo.png', 'image/png') }
|
21
|
+
end
|
22
|
+
|
23
|
+
factory :pdf do
|
24
|
+
type { 'Pdf' }
|
25
|
+
file { fixture_file_upload(Rails.root + 'test/fixtures/photo.png', 'image/png') }
|
26
|
+
end
|
27
|
+
|
28
|
+
factory :reference do
|
29
|
+
subject_type { 'Photo' }
|
30
|
+
subject_id { create(:photo).id }
|
31
|
+
end
|
32
|
+
|
33
|
+
factory :property do
|
34
|
+
name { Faker::Lorem.words(number: Kernel.rand(1..4)).join(' ') }
|
35
|
+
description { Faker::Lorem.paragraphs.join("\n\n") }
|
36
|
+
constructed { Kernel.rand(1800..(Time.now.year - 2)) }
|
37
|
+
size { Kernel.rand(1000..10000000).to_f / 100 }
|
38
|
+
active { [true, false].sample }
|
39
|
+
photos { [create(:photo)] }
|
40
|
+
|
41
|
+
trait(:nested) do
|
42
|
+
photos_attributes { [attributes_for(:photo)] }
|
43
|
+
end
|
44
|
+
|
45
|
+
trait(:invalid) do
|
46
|
+
name { nil }
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
Binary file
|
@@ -0,0 +1,15 @@
|
|
1
|
+
json.set! :id, photo.id
|
2
|
+
json.set! :account_id, photo.account_id
|
3
|
+
json.set! :property_id, photo.property_id
|
4
|
+
json.set! :format, photo.format
|
5
|
+
json.set! :template, 'photos/_photo'
|
6
|
+
|
7
|
+
if includes[:account]
|
8
|
+
json.set! :account do
|
9
|
+
if photo.account
|
10
|
+
json.partial! 'application/record', record: photo.account, includes: includes[:account]
|
11
|
+
else
|
12
|
+
json.null!
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
json.set! 'template', 'photos/schema'
|
@@ -0,0 +1 @@
|
|
1
|
+
properties#edit.html
|
File without changes
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: standardapi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 6.0.0.
|
4
|
+
version: 6.0.0.25
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Bracy
|
@@ -273,6 +273,17 @@ files:
|
|
273
273
|
- lib/standard_api/views/application/schema.streamer
|
274
274
|
- lib/standard_api/views/application/show.json.jbuilder
|
275
275
|
- lib/standard_api/views/application/show.streamer
|
276
|
+
- test/standard_api/test_app.rb
|
277
|
+
- test/standard_api/test_app/config/database.yml
|
278
|
+
- test/standard_api/test_app/controllers.rb
|
279
|
+
- test/standard_api/test_app/log/test.log
|
280
|
+
- test/standard_api/test_app/models.rb
|
281
|
+
- test/standard_api/test_app/test/factories.rb
|
282
|
+
- test/standard_api/test_app/test/fixtures/photo.png
|
283
|
+
- test/standard_api/test_app/views/photos/_photo.json.jbuilder
|
284
|
+
- test/standard_api/test_app/views/photos/schema.json.jbuilder
|
285
|
+
- test/standard_api/test_app/views/properties/edit.html.erb
|
286
|
+
- test/standard_api/test_app/views/sessions/new.html.erb
|
276
287
|
homepage: https://github.com/waratuman/standardapi
|
277
288
|
licenses:
|
278
289
|
- MIT
|
@@ -283,6 +294,7 @@ rdoc_options:
|
|
283
294
|
- README.md
|
284
295
|
require_paths:
|
285
296
|
- lib
|
297
|
+
- test
|
286
298
|
required_ruby_version: !ruby/object:Gem::Requirement
|
287
299
|
requirements:
|
288
300
|
- - ">="
|