symphonia 3.1.5 → 3.2.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 +4 -4
- data/.rubocop.yml +4 -8
- data/app/assets/javascripts/symphonia/symphonia_ckeditor.js +0 -1
- data/app/controllers/concerns/symphonia/swagger/base_controller.rb +134 -0
- data/app/controllers/symphonia/api_controller.rb +48 -34
- data/app/controllers/symphonia/user_sessions_controller.rb +1 -1
- data/app/controllers/symphonia/users_controller.rb +4 -32
- data/app/helpers/symphonia/form_helper.rb +0 -2
- data/app/models/symphonia/swagger/error_model.rb +14 -9
- data/app/models/symphonia/swagger/parameters.rb +21 -0
- data/app/models/symphonia/swagger/responses.rb +2 -2
- data/app/models/symphonia/user.rb +22 -21
- data/db/migrate/20200428180001_add_uuid_to_users.rb +6 -0
- data/db/migrate/20200428180008_add_avatar_to_users.rb +5 -0
- data/db/seeds.rb +2 -1
- data/lib/generators/symphonia/setup/setup_generator.rb +2 -1
- data/lib/generators/symphonia/setup/templates/app/assets/javascripts/application.js.tt +1 -0
- data/lib/symphonia/base_controller.rb +8 -0
- data/lib/symphonia/engine.rb +4 -4
- data/lib/symphonia/model_attributes/attribute.rb +1 -1
- data/lib/symphonia/version.rb +1 -1
- data/spec/controllers/api_controller_spec.rb +1 -1
- data/spec/controllers/base_controller_spec.rb +37 -2
- data/spec/spec_helper.rb +1 -1
- metadata +11 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6b48c59788b2e00b86be3e0db6b90f15833b9b26668673aa56c41a676ebca438
|
4
|
+
data.tar.gz: 3fa0287a83b8463b1e2a630ce39dd0ad49d7810ed7aefafbaffce517219bea3c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c588275faf8d81e32e22b71fc9cf0cbbdb66ee3b6f328aa83540d0129b513368f51294813535eda0432ae6c8681497cbd83484f2d9947b48985b5408dece2b99
|
7
|
+
data.tar.gz: f5a33405a69db155dda2ef9fa8527f066d5bf995b3618baad9d465936943fc379320a28c1a468077a882ced2f4e9a875bbc32a855eb0f1bf9fe78da754e4575a
|
data/.rubocop.yml
CHANGED
@@ -1,7 +1,3 @@
|
|
1
|
-
#require:
|
2
|
-
# - rubocop-rails
|
3
|
-
All:
|
4
|
-
Rails: true
|
5
1
|
AllCops:
|
6
2
|
TargetRubyVersion: 2.5
|
7
3
|
|
@@ -16,13 +12,13 @@ Metrics/AbcSize:
|
|
16
12
|
Enabled: false
|
17
13
|
Metrics/BlockLength:
|
18
14
|
Enabled: false
|
19
|
-
Metrics/LineLength:
|
20
|
-
Enabled: false
|
15
|
+
#Metrics/LineLength:
|
16
|
+
# Enabled: false
|
21
17
|
Metrics/MethodLength:
|
22
18
|
Enabled: false
|
23
19
|
|
24
|
-
Style/BracesAroundHashParameters:
|
25
|
-
EnforcedStyle: context_dependent
|
20
|
+
#Style/BracesAroundHashParameters:
|
21
|
+
# EnforcedStyle: context_dependent
|
26
22
|
Style/Documentation:
|
27
23
|
Enabled: false
|
28
24
|
Style/MutableConstant:
|
@@ -0,0 +1,134 @@
|
|
1
|
+
module Symphonia
|
2
|
+
module Swagger
|
3
|
+
module BaseController
|
4
|
+
extend ActiveSupport::Concern
|
5
|
+
# General swagger description
|
6
|
+
#
|
7
|
+
# How to use:
|
8
|
+
# `include Symphonia::Swagger::BaseController`
|
9
|
+
# # it include all necessary methods then you need call
|
10
|
+
# `swagger_me entity: "MyModelName", base_path: "/my_entities"`
|
11
|
+
# for change which tags list are used with all this endpoints override method `tag_list`
|
12
|
+
#
|
13
|
+
class_methods do
|
14
|
+
|
15
|
+
# @param [String] name of swagger model
|
16
|
+
def entity=(name)
|
17
|
+
@entity = name
|
18
|
+
end
|
19
|
+
|
20
|
+
# @param [String] path - route
|
21
|
+
def base_path=(path)
|
22
|
+
@base_path = path
|
23
|
+
end
|
24
|
+
|
25
|
+
# @abstract guess entity name from controller
|
26
|
+
def entity
|
27
|
+
@entity || name.demodulize.remove("Controller").singularize
|
28
|
+
end
|
29
|
+
|
30
|
+
# @abstract base route to described controller
|
31
|
+
def base_path
|
32
|
+
@base_path || "/#{entity_name.pluralize}"
|
33
|
+
end
|
34
|
+
|
35
|
+
# @abstract name used in params
|
36
|
+
def entity_name
|
37
|
+
entity.underscore
|
38
|
+
end
|
39
|
+
|
40
|
+
# @return [Array]
|
41
|
+
def tag_list
|
42
|
+
[entity]
|
43
|
+
end
|
44
|
+
|
45
|
+
# @param [String] entity is singular name of described model
|
46
|
+
# @param [String] base_path in URL where is model located in app
|
47
|
+
def swagger_me(entity: name.demodulize.remove("Controller").singularize, base_path: nil)
|
48
|
+
self.entity = entity
|
49
|
+
self.base_path = base_path || "/#{entity_name.pluralize}"
|
50
|
+
include GeneralDefinitions
|
51
|
+
end
|
52
|
+
|
53
|
+
end
|
54
|
+
module GeneralDefinitions
|
55
|
+
extend ActiveSupport::Concern
|
56
|
+
included do
|
57
|
+
include ::Swagger::Blocks
|
58
|
+
|
59
|
+
base = self
|
60
|
+
swagger_path "#{base.base_path}.json" do
|
61
|
+
operation :get do
|
62
|
+
key :summary, "List"
|
63
|
+
key :tags, base.tag_list
|
64
|
+
parameter do
|
65
|
+
key :name, "q"
|
66
|
+
key :description, "free-text filter of current entity - `like`"
|
67
|
+
key :in, "query"
|
68
|
+
schema type: "string"
|
69
|
+
end
|
70
|
+
parameter do
|
71
|
+
key :name, "set_filter"
|
72
|
+
key :description, "enable filtering"
|
73
|
+
key :in, "query"
|
74
|
+
schema type: "boolean"
|
75
|
+
end
|
76
|
+
parameter do
|
77
|
+
key :name, "sort"
|
78
|
+
key :description, "name of 'column' for sort. Can be also in format name:asc or :desc"
|
79
|
+
key :example, "email:desc (for reverse order users by e-mail"
|
80
|
+
key :in, "query"
|
81
|
+
schema type: "string"
|
82
|
+
end
|
83
|
+
parameter do
|
84
|
+
key :name, "page"
|
85
|
+
key :description, "number of requested page"
|
86
|
+
key :in, "query"
|
87
|
+
schema type: "integer"
|
88
|
+
end
|
89
|
+
extend Symphonia::Swagger::Responses
|
90
|
+
response 200 do
|
91
|
+
key :description, "ok"
|
92
|
+
content "application/json" do
|
93
|
+
schema type: "array" do
|
94
|
+
items do
|
95
|
+
key "$ref", base.entity
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
102
|
+
|
103
|
+
swagger_path "#{base.base_path}/{id}.json" do
|
104
|
+
operation :get do
|
105
|
+
key :summary, 'Find by ID'
|
106
|
+
key :description, 'Returns a single entity'
|
107
|
+
key :tags, base.tag_list
|
108
|
+
parameter do
|
109
|
+
key :name, "id"
|
110
|
+
key :in, "path"
|
111
|
+
key :description, 'ID to fetch'
|
112
|
+
key :required, true
|
113
|
+
schema do
|
114
|
+
key :type, "integer"
|
115
|
+
key :format, "int64"
|
116
|
+
end
|
117
|
+
end
|
118
|
+
extend Symphonia::Swagger::Responses
|
119
|
+
response 200 do
|
120
|
+
key :description, 'detail object response'
|
121
|
+
content "application/json" do
|
122
|
+
schema do
|
123
|
+
key :'$ref', base.entity
|
124
|
+
end
|
125
|
+
end
|
126
|
+
end
|
127
|
+
end
|
128
|
+
end
|
129
|
+
end
|
130
|
+
end
|
131
|
+
|
132
|
+
end
|
133
|
+
end
|
134
|
+
end
|
@@ -2,13 +2,19 @@ module Symphonia
|
|
2
2
|
class ApiController < ApplicationController
|
3
3
|
include ::Swagger::Blocks
|
4
4
|
# https://github.com/fotinakis/swagger-blocks
|
5
|
-
|
6
|
-
|
5
|
+
swagger_component do
|
6
|
+
security_scheme "token" do
|
7
|
+
key :type, "apiKey"
|
8
|
+
key :name, "key"
|
9
|
+
key :in, "header"
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
swagger_root openapi: "3.0.0" do
|
7
14
|
info do
|
8
|
-
key :version, '
|
9
|
-
key :title,
|
10
|
-
key :description,
|
11
|
-
# key :termsOfService, 'http://helloreverb.com/terms/'
|
15
|
+
key :version, '2.0.0'
|
16
|
+
key :title, "API"
|
17
|
+
key :description, ""
|
12
18
|
contact do
|
13
19
|
key :name, 'Lukas Pokorny'
|
14
20
|
key :email, 'pokorny@luk4s.cz'
|
@@ -17,36 +23,16 @@ module Symphonia
|
|
17
23
|
key :name, 'GPLv3'
|
18
24
|
end
|
19
25
|
end
|
20
|
-
# tag do
|
21
|
-
# key :name, 'pet'
|
22
|
-
# key :description, 'Pets operations'
|
23
|
-
# externalDocs do
|
24
|
-
# key :description, 'Find more info here'
|
25
|
-
# key :url, 'https://swagger.io'
|
26
|
-
# end
|
27
|
-
# end
|
28
|
-
# key :host, 'petstore.swagger.wordnik.com'
|
29
|
-
key :basePath, '/'
|
30
|
-
key :consumes, ['application/json']
|
31
|
-
key :produces, ['application/json']
|
32
26
|
|
33
|
-
security_definition :token do
|
34
|
-
key :type, :apiKey
|
35
|
-
key :name, :Authorization
|
36
|
-
key :in, :header
|
37
|
-
end
|
38
27
|
security do
|
39
28
|
key :token, []
|
40
29
|
end
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
# key 'read:pets', 'read your pets'
|
48
|
-
# end
|
49
|
-
# end
|
30
|
+
|
31
|
+
tag name: "admin" do
|
32
|
+
key :description, "endpoints required `admin`"
|
33
|
+
end
|
34
|
+
tag name: "User" do
|
35
|
+
end
|
50
36
|
end
|
51
37
|
|
52
38
|
# A list of all classes that have swagger_* declarations.
|
@@ -54,11 +40,39 @@ module Symphonia
|
|
54
40
|
UsersController,
|
55
41
|
User,
|
56
42
|
Swagger::ErrorModel,
|
57
|
-
self
|
58
43
|
]
|
44
|
+
def self.for_documentation
|
45
|
+
SWAGGERED_CLASSES + Symphonia::ApiController::SWAGGERED_CLASSES
|
46
|
+
end
|
47
|
+
|
48
|
+
# @param [String] name of tag
|
49
|
+
# @param [String] description
|
50
|
+
def self.add_tag(name:, description:)
|
51
|
+
swagger_root_node.tag name: name, description: description
|
52
|
+
end
|
53
|
+
|
54
|
+
# @return [Swagger::Blocks::Nodes::RootNode]
|
55
|
+
def self.swagger_root_node
|
56
|
+
node = Symphonia::ApiController.send(:_swagger_nodes)
|
57
|
+
node[:root_node]
|
58
|
+
end
|
59
|
+
|
60
|
+
# @param [String] text
|
61
|
+
def self.api_title=(text)
|
62
|
+
swagger_root_node.data[:info].data[:title] = text
|
63
|
+
end
|
64
|
+
|
65
|
+
# @param [String] text
|
66
|
+
def self.api_description=(text)
|
67
|
+
swagger_root_node.data[:info].data[:description] = text
|
68
|
+
end
|
59
69
|
|
60
70
|
def index
|
61
|
-
|
71
|
+
json = ::Swagger::Blocks.build_root_json(self.class.for_documentation + [self.class])
|
72
|
+
respond_to do |format|
|
73
|
+
format.yaml { render plain: json.deep_stringify_keys.to_yaml }
|
74
|
+
format.json { render json: json }
|
75
|
+
end
|
62
76
|
end
|
63
77
|
end
|
64
78
|
end
|
@@ -1,38 +1,10 @@
|
|
1
1
|
module Symphonia
|
2
2
|
class UsersController < ApplicationController
|
3
|
-
include ::Swagger::
|
4
|
-
|
5
|
-
|
6
|
-
operation :get do
|
7
|
-
key :summary, 'Find User by ID'
|
8
|
-
key :description, 'Returns a single user if the user has access'
|
9
|
-
# key :operationId, 'findPetById'
|
10
|
-
# key :tags, [
|
11
|
-
# 'pet'
|
12
|
-
# ]
|
13
|
-
parameter do
|
14
|
-
key :name, :id
|
15
|
-
key :in, :path
|
16
|
-
key :description, 'ID of user to fetch'
|
17
|
-
key :required, true
|
18
|
-
key :type, :integer
|
19
|
-
key :format, :int64
|
20
|
-
end
|
21
|
-
extend Symphonia::Swagger::Responses
|
22
|
-
response 200 do
|
23
|
-
key :description, 'user response'
|
24
|
-
schema do
|
25
|
-
key :'$ref', :User
|
26
|
-
end
|
27
|
-
end
|
28
|
-
# response :default do
|
29
|
-
# key :description, 'unexpected error'
|
30
|
-
# schema do
|
31
|
-
# key :'$ref', :ErrorModel
|
32
|
-
# end
|
33
|
-
# end
|
34
|
-
end
|
3
|
+
include Symphonia::Swagger::BaseController
|
4
|
+
def self.tag_list
|
5
|
+
%w[User admin]
|
35
6
|
end
|
7
|
+
swagger_me entity: "User", base_path: "/admin/users"
|
36
8
|
|
37
9
|
helper Symphonia::RendererHelper
|
38
10
|
|
@@ -3,15 +3,20 @@ module Symphonia
|
|
3
3
|
class ErrorModel
|
4
4
|
include ::Swagger::Blocks
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
6
|
+
swagger_component do
|
7
|
+
schema :ErrorModel do
|
8
|
+
key :required, %w[attribute messages]
|
9
|
+
property :attribute do
|
10
|
+
key :type, "string"
|
11
|
+
key :example, "login"
|
12
|
+
end
|
13
|
+
property :messages do
|
14
|
+
key :type, "array"
|
15
|
+
items do
|
16
|
+
key :type, "string"
|
17
|
+
key :example, "cannot be blank"
|
18
|
+
end
|
19
|
+
end
|
15
20
|
end
|
16
21
|
end
|
17
22
|
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module Symphonia
|
2
|
+
module Swagger
|
3
|
+
module Parameters
|
4
|
+
def self.extended(base)
|
5
|
+
|
6
|
+
base.parameter do
|
7
|
+
key :name, "format"
|
8
|
+
key :description, "specify format of response"
|
9
|
+
key :in, "path"
|
10
|
+
key :required, true
|
11
|
+
schema do
|
12
|
+
key :type, "string"
|
13
|
+
key :enum, %w[json]
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
end
|
@@ -31,26 +31,27 @@ module Symphonia
|
|
31
31
|
include UserManagement
|
32
32
|
|
33
33
|
include ::Swagger::Blocks
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
34
|
+
swagger_component do
|
35
|
+
schema :User do
|
36
|
+
key :required, %w[id login email]
|
37
|
+
property :id do
|
38
|
+
key :type, "integer"
|
39
|
+
key :format, "int64"
|
40
|
+
end
|
41
|
+
property :fist_name do
|
42
|
+
key :type, "string"
|
43
|
+
end
|
44
|
+
property :last_name do
|
45
|
+
key :type, "string"
|
46
|
+
end
|
47
|
+
property :email do
|
48
|
+
key :type, "string"
|
49
|
+
key :format, "email"
|
50
|
+
end
|
51
|
+
property :status do
|
52
|
+
key :type, "string"
|
53
|
+
key :enum, Symphonia::User.statuses.keys
|
54
|
+
end
|
54
55
|
end
|
55
56
|
end
|
56
57
|
|
@@ -155,7 +156,7 @@ module Symphonia
|
|
155
156
|
end
|
156
157
|
|
157
158
|
def language
|
158
|
-
|
159
|
+
nil
|
159
160
|
end
|
160
161
|
end
|
161
162
|
|
data/db/seeds.rb
CHANGED
@@ -6,7 +6,8 @@ u.attributes = {
|
|
6
6
|
email: 'luk4s.pokorny@gmail.com',
|
7
7
|
password: 'admin',
|
8
8
|
# password_confirmation: 'admin',
|
9
|
-
admin: true
|
9
|
+
admin: true,
|
10
|
+
avatar_url: "https://secure.gravatar.com/avatar/3657d5f0e9747c1c21eb2b689a8dba0b?s=64"
|
10
11
|
}
|
11
12
|
u.single_access_token = SecureRandom.hex(20)
|
12
13
|
u.save!(validate: false)
|
@@ -16,7 +16,8 @@ module Symphonia
|
|
16
16
|
end
|
17
17
|
|
18
18
|
def copy_assets
|
19
|
-
|
19
|
+
template 'app/assets/javascripts/application.js'
|
20
|
+
append_to_file 'app/assets/config/manifest.js', '//= link symphonia_manifest.js'
|
20
21
|
copy_file 'design.scss', 'app/assets/stylesheets/general.scss'
|
21
22
|
end
|
22
23
|
|
@@ -0,0 +1 @@
|
|
1
|
+
//= require symphonia/application
|
@@ -6,10 +6,17 @@ module Symphonia
|
|
6
6
|
# def model
|
7
7
|
# YourModel
|
8
8
|
# end
|
9
|
+
# OR
|
10
|
+
# self.model = YourModel
|
9
11
|
#
|
10
12
|
# def safe_attributes
|
11
13
|
# %i[]
|
12
14
|
# end
|
15
|
+
#
|
16
|
+
# def swagger_path
|
17
|
+
# false # => for disable swagger
|
18
|
+
# "/my-custom-path" # => for custom route
|
19
|
+
# end
|
13
20
|
module BaseController
|
14
21
|
extend ActiveSupport::Concern
|
15
22
|
|
@@ -24,6 +31,7 @@ module Symphonia
|
|
24
31
|
# @param [Class] model
|
25
32
|
class_attribute :model
|
26
33
|
|
34
|
+
include Symphonia::Swagger::BaseController
|
27
35
|
end
|
28
36
|
|
29
37
|
class_methods do
|
data/lib/symphonia/engine.rb
CHANGED
@@ -83,10 +83,10 @@ module Symphonia
|
|
83
83
|
|
84
84
|
initializer :assets do |_app|
|
85
85
|
config.assets.precompile << 'symphonia/application.css'
|
86
|
-
if defined?(::Ckeditor)
|
87
|
-
|
88
|
-
|
89
|
-
end
|
86
|
+
#if defined?(::Ckeditor)
|
87
|
+
# config.assets.precompile << 'ckeditor/**/*'
|
88
|
+
# config.assets.precompile << 'symphonia/symphonia_ckeditor.js'
|
89
|
+
#end
|
90
90
|
end
|
91
91
|
|
92
92
|
initializer :symphonia_general_permissions do |_app|
|
@@ -174,7 +174,7 @@ module Symphonia
|
|
174
174
|
|
175
175
|
class DateTimeAttribute < Attribute
|
176
176
|
def format_value(view, value, entity)
|
177
|
-
value && view.l(value, format_options)
|
177
|
+
value && view.l(value.localtime, format_options)
|
178
178
|
end
|
179
179
|
end
|
180
180
|
class DatetimeAttribute < DateTimeAttribute
|
data/lib/symphonia/version.rb
CHANGED
@@ -17,16 +17,21 @@ class DummyBaseA < Symphonia::ApplicationController
|
|
17
17
|
self.model = ModelA
|
18
18
|
end
|
19
19
|
class DummyBaseB < DummyBaseA
|
20
|
-
# include Symphonia::BaseController
|
21
20
|
self.model = ModelB
|
22
21
|
end
|
23
22
|
|
24
23
|
RSpec.describe DummyBaseB do
|
25
|
-
|
24
|
+
|
26
25
|
controller do
|
26
|
+
before_action :set_locale, only: :index
|
27
|
+
|
27
28
|
def show
|
28
29
|
render plain: model.name
|
29
30
|
end
|
31
|
+
|
32
|
+
def index
|
33
|
+
render plain: t(:language)
|
34
|
+
end
|
30
35
|
end
|
31
36
|
it "#model" do
|
32
37
|
subject = DummyBaseA.new
|
@@ -39,4 +44,34 @@ RSpec.describe DummyBaseB do
|
|
39
44
|
get :show, params: { id: 1 }
|
40
45
|
expect(response.body).to eq "ModelB"
|
41
46
|
end
|
47
|
+
|
48
|
+
describe "#set_locale" do
|
49
|
+
before do
|
50
|
+
I18n.locale = :cs
|
51
|
+
end
|
52
|
+
context "logged user", logged: true do
|
53
|
+
before { Symphonia::User.current.language = :cs }
|
54
|
+
it "enforce language of user" do
|
55
|
+
get :index
|
56
|
+
expect(response.body).to eq "Čeština"
|
57
|
+
Symphonia::User.current.language = :en
|
58
|
+
get :index
|
59
|
+
expect(response.body).to eq "English"
|
60
|
+
end
|
61
|
+
|
62
|
+
it "ignore :locale params" do
|
63
|
+
get :index, params: { locale: "en" }
|
64
|
+
expect(response.body).to eq "Čeština"
|
65
|
+
end
|
66
|
+
end
|
67
|
+
it "anonymous default language" do
|
68
|
+
get :index
|
69
|
+
expect(response.body).to eq "Čeština"
|
70
|
+
end
|
71
|
+
|
72
|
+
it "anonymous language by :locale" do
|
73
|
+
get :index, params: { locale: "en" }
|
74
|
+
expect(response.body).to eq "English"
|
75
|
+
end
|
76
|
+
end
|
42
77
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -11,7 +11,7 @@ Dir.glob(File.expand_path('../support/*.rb', __FILE__)).each do |file|
|
|
11
11
|
require file
|
12
12
|
end
|
13
13
|
|
14
|
-
ActiveRecord::Migration.maintain_test_schema!
|
14
|
+
# ActiveRecord::Migration.maintain_test_schema!
|
15
15
|
|
16
16
|
Paperclip::Attachment.default_options[:path] = "#{Rails.root}/spec/test_files/:class/:id_partition/:style.:extension"
|
17
17
|
# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: symphonia
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.1
|
4
|
+
version: 3.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Lukas Pokorny
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-01
|
11
|
+
date: 2020-05-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -240,14 +240,14 @@ dependencies:
|
|
240
240
|
requirements:
|
241
241
|
- - "~>"
|
242
242
|
- !ruby/object:Gem::Version
|
243
|
-
version:
|
243
|
+
version: 4.4.0
|
244
244
|
type: :runtime
|
245
245
|
prerelease: false
|
246
246
|
version_requirements: !ruby/object:Gem::Requirement
|
247
247
|
requirements:
|
248
248
|
- - "~>"
|
249
249
|
- !ruby/object:Gem::Version
|
250
|
-
version:
|
250
|
+
version: 4.4.0
|
251
251
|
- !ruby/object:Gem::Dependency
|
252
252
|
name: the_sortable_tree
|
253
253
|
requirement: !ruby/object:Gem::Requirement
|
@@ -310,14 +310,14 @@ dependencies:
|
|
310
310
|
requirements:
|
311
311
|
- - "~>"
|
312
312
|
- !ruby/object:Gem::Version
|
313
|
-
version: '
|
313
|
+
version: '3.0'
|
314
314
|
type: :runtime
|
315
315
|
prerelease: false
|
316
316
|
version_requirements: !ruby/object:Gem::Requirement
|
317
317
|
requirements:
|
318
318
|
- - "~>"
|
319
319
|
- !ruby/object:Gem::Version
|
320
|
-
version: '
|
320
|
+
version: '3.0'
|
321
321
|
- !ruby/object:Gem::Dependency
|
322
322
|
name: rspec-rails
|
323
323
|
requirement: !ruby/object:Gem::Requirement
|
@@ -450,6 +450,7 @@ files:
|
|
450
450
|
- app/assets/stylesheets/symphonia/symphonia_bootstrap.scss
|
451
451
|
- app/channels/application_cable/channel.rb
|
452
452
|
- app/controllers/base_controller.rb
|
453
|
+
- app/controllers/concerns/symphonia/swagger/base_controller.rb
|
453
454
|
- app/controllers/symphonia/accounts_controller.rb
|
454
455
|
- app/controllers/symphonia/admin_controller.rb
|
455
456
|
- app/controllers/symphonia/api_controller.rb
|
@@ -476,6 +477,7 @@ files:
|
|
476
477
|
- app/models/symphonia/preference.rb
|
477
478
|
- app/models/symphonia/role.rb
|
478
479
|
- app/models/symphonia/swagger/error_model.rb
|
480
|
+
- app/models/symphonia/swagger/parameters.rb
|
479
481
|
- app/models/symphonia/swagger/responses.rb
|
480
482
|
- app/models/symphonia/user.rb
|
481
483
|
- app/models/symphonia/user_session.rb
|
@@ -545,6 +547,8 @@ files:
|
|
545
547
|
- db/migrate/20130828175114_create_attachments.rb
|
546
548
|
- db/migrate/20141213204351_create_admin_modules.rb
|
547
549
|
- db/migrate/20190706130409_add_external_id_to_users.rb
|
550
|
+
- db/migrate/20200428180001_add_uuid_to_users.rb
|
551
|
+
- db/migrate/20200428180008_add_avatar_to_users.rb
|
548
552
|
- db/seeds.rb
|
549
553
|
- lib/generators/symphonia/entity_controller/entity_controller_generator.rb
|
550
554
|
- lib/generators/symphonia/entity_controller/templates/controller.rb
|
@@ -553,6 +557,7 @@ files:
|
|
553
557
|
- lib/generators/symphonia/setup/templates/404.html
|
554
558
|
- lib/generators/symphonia/setup/templates/500.html
|
555
559
|
- lib/generators/symphonia/setup/templates/Gemfile
|
560
|
+
- lib/generators/symphonia/setup/templates/app/assets/javascripts/application.js.tt
|
556
561
|
- lib/generators/symphonia/setup/templates/base_layout.html.erb
|
557
562
|
- lib/generators/symphonia/setup/templates/design.scss
|
558
563
|
- lib/generators/symphonia/setup/templates/settings.rb
|