symphonia 3.1.5 → 3.2.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
  SHA256:
3
- metadata.gz: aa7ffaee9227f92a65343e7ceb49c1b456a55979dee59eb58084315f9395c4ff
4
- data.tar.gz: 863eab3a706edd2db29cbe2929fb9c4a873bd57bbe7516dd1aced6c3b844693c
3
+ metadata.gz: 6b48c59788b2e00b86be3e0db6b90f15833b9b26668673aa56c41a676ebca438
4
+ data.tar.gz: 3fa0287a83b8463b1e2a630ce39dd0ad49d7810ed7aefafbaffce517219bea3c
5
5
  SHA512:
6
- metadata.gz: 254b4b7854e3ea0e0c86fb8a97774db2947212d88611e32e4758d02fadd4d4b7d9ff4205eb15f82bc3c7fda78ab6f56b740693c02b3b4f085b9607a509b9f93f
7
- data.tar.gz: 931719ab8a002fa957fb9091960417d0a4a9b7b30bc9f4aa2d8244989b910aa43b79c7dc5afe32102f82bc541944f656c79e573c26a8d45922cde248e16b95db
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:
@@ -1,4 +1,3 @@
1
- //= require ckeditor-jquery
2
1
  //= require_self
3
2
 
4
3
  CKEDITOR.editorConfig = function( config )
@@ -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
- swagger_root do
6
- key :swagger, '2.0'
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, '1.0.0'
9
- key :title, 'Symphonia API'
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
- # security_definition :petstore_auth do
42
- # key :type, :oauth2
43
- # key :authorizationUrl, 'http://swagger.io/api/oauth/dialog'
44
- # key :flow, :implicit
45
- # scopes do
46
- # key 'write:pets', 'modify pets in your account'
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
- render json: ::Swagger::Blocks.build_root_json(SWAGGERED_CLASSES)
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
@@ -8,7 +8,7 @@ module Symphonia
8
8
  end
9
9
 
10
10
  def current_session
11
- current_user_session
11
+ current_user_session
12
12
  end
13
13
 
14
14
  end
@@ -1,38 +1,10 @@
1
1
  module Symphonia
2
2
  class UsersController < ApplicationController
3
- include ::Swagger::Blocks
4
-
5
- swagger_path '/admin/users/{id}.json' do
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
 
@@ -4,8 +4,6 @@ module Symphonia
4
4
  def symphonia_form_for(object, options={}, &block)
5
5
  options.reverse_merge!(builder: Symphonia::FormBuilder)
6
6
 
7
- options = process_options(options)
8
-
9
7
  unless options[:remote] && options[:local].nil?
10
8
  options[:local] = true
11
9
  end
@@ -3,15 +3,20 @@ module Symphonia
3
3
  class ErrorModel
4
4
  include ::Swagger::Blocks
5
5
 
6
- swagger_schema :ErrorModel do
7
- key :required, %i[attribute messages]
8
- property :attribute do
9
- key :type, :string
10
- key :example, "login"
11
- end
12
- property :messages do
13
- key :type, :array
14
- key :example, "[cannot be blank]"
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
@@ -13,8 +13,8 @@ module Symphonia
13
13
  end
14
14
  base.response 422 do
15
15
  key :description, 'unprocessable entity'
16
- schema do
17
- key :'$ref', :ErrorModel
16
+ content "application/json" do
17
+ schema "$ref": "ErrorModel"
18
18
  end
19
19
  end
20
20
  base.response 500 do
@@ -31,26 +31,27 @@ module Symphonia
31
31
  include UserManagement
32
32
 
33
33
  include ::Swagger::Blocks
34
-
35
- swagger_schema :User do
36
- key :required, %i[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
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
- Symphonia.config.default_locale || I18n.default_locale
159
+ nil
159
160
  end
160
161
  end
161
162
 
@@ -0,0 +1,6 @@
1
+ class AddUuidToUsers < ActiveRecord::Migration[6.0]
2
+ def change
3
+ uuid_type = connection.adapter_name =~ /PostgreSQL/i ? :uuid : :string
4
+ add_column :users, :uuid, uuid_type
5
+ end
6
+ end
@@ -0,0 +1,5 @@
1
+ class AddAvatarToUsers < ActiveRecord::Migration[6.0]
2
+ def change
3
+ add_column :users, :avatar_url, :string
4
+ end
5
+ end
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
- append_to_file 'app/assets/javascripts/application.js', '//= require symphonia/application'
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
@@ -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
- config.assets.precompile << 'ckeditor/**/*'
88
- config.assets.precompile << 'symphonia/symphonia_ckeditor.js'
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
@@ -1,3 +1,3 @@
1
1
  module Symphonia
2
- VERSION = '3.1.5'
2
+ VERSION = '3.2.1'
3
3
  end
@@ -3,7 +3,7 @@ module Symphonia
3
3
  routes { Symphonia::Engine.routes }
4
4
 
5
5
  it "#index" do
6
- get :index
6
+ get :index, params: {format: "yml"}
7
7
  end
8
8
  end
9
9
  end
@@ -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
- # subject { described_class.new }
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.5
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-20 00:00:00.000000000 Z
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: '4.3'
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: '4.3'
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: '2.0'
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: '2.0'
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