c80_shared 0.1.85 → 0.1.90
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/Gemfile.lock +1 -1
- data/Makefile +2 -0
- data/app/dicts/operators.rb +7 -0
- data/app/dicts/request_info_state.rb +7 -0
- data/app/serializers/account_serializer.rb +20 -1
- data/app/serializers/accounts/account_central_agent_serializer.rb +25 -0
- data/app/serializers/lease/bid_serializer.rb +1 -1
- data/app/serializers/lease/request_info_serializer.rb +64 -0
- data/lib/c80_shared/version.rb +1 -1
- metadata +8 -3
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 8b74798e7fa2ba84239918bc247e89ceca53912539ae784d14ba6556c0ba13a1
         | 
| 4 | 
            +
              data.tar.gz: b6123aae96bf2611736b5005b2459da881e906e8a9476d067229e975cd00fa1c
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: e6ccb76fbbd4df0cf0297c821711e79dd9e3059cb61fad4b20d379244e4937eef719acd1f1c59908f5a0fff595821def85b0b8f18422bce1c011034c8cd5cee1
         | 
| 7 | 
            +
              data.tar.gz: 9fb4506fab81c11b4ccd8b4fa96a19251c5f39767f187c19b177ff9277fb8ccc97cb289b4566dda9e916ffa894640fd2473140e5c6e03cb3e295f30a248794f8
         | 
    
        data/Gemfile.lock
    CHANGED
    
    
    
        data/Makefile
    ADDED
    
    
| @@ -7,6 +7,7 @@ class AccountSerializer < AbstractSerializer | |
| 7 7 | 
             
                    id
         | 
| 8 8 | 
             
                    type_index
         | 
| 9 9 | 
             
                    props
         | 
| 10 | 
            +
                    abilities
         | 
| 10 11 | 
             
                  ]
         | 
| 11 12 | 
             
                end
         | 
| 12 13 |  | 
| @@ -38,5 +39,23 @@ class AccountSerializer < AbstractSerializer | |
| 38 39 | 
             
                          end
         | 
| 39 40 | 
             
                  { props: props }
         | 
| 40 41 | 
             
                end
         | 
| 42 | 
            +
             | 
| 43 | 
            +
                # список возможностей с учётом запретов
         | 
| 44 | 
            +
                def abilities(account)
         | 
| 45 | 
            +
                  account_class     = ::Dictionaries::AccountType::CLASS_BY_TYPE[account.type_id]
         | 
| 46 | 
            +
                  default_abilities = ::Dicts::Accounts::Ability.all_for_account_class(account_class)
         | 
| 47 | 
            +
                  prohibited        = account.user.permissions
         | 
| 48 | 
            +
             | 
| 49 | 
            +
                  # отнимаем запрещённые действия из дефолтных
         | 
| 50 | 
            +
                  not_prohibited = ->(ability) { prohibited.none? { |a| a.action.to_s == ability.index.to_s } }
         | 
| 51 | 
            +
                  abilities      = default_abilities.map do |a|
         | 
| 52 | 
            +
                    {
         | 
| 53 | 
            +
                      action: a.index,
         | 
| 54 | 
            +
                      can:    not_prohibited[a]
         | 
| 55 | 
            +
                    }
         | 
| 56 | 
            +
                  end
         | 
| 57 | 
            +
             | 
| 58 | 
            +
                  { abilities: abilities }
         | 
| 59 | 
            +
                end
         | 
| 41 60 | 
             
              end
         | 
| 42 | 
            -
            end
         | 
| 61 | 
            +
            end
         | 
| @@ -0,0 +1,25 @@ | |
| 1 | 
            +
            module Accounts
         | 
| 2 | 
            +
              class CentralAgentSerializer < AbstractSerializer
         | 
| 3 | 
            +
                class << self
         | 
| 4 | 
            +
                  def available_attributes
         | 
| 5 | 
            +
                    %i[
         | 
| 6 | 
            +
                      email
         | 
| 7 | 
            +
                      phone
         | 
| 8 | 
            +
                      name
         | 
| 9 | 
            +
                    ]
         | 
| 10 | 
            +
                  end
         | 
| 11 | 
            +
             | 
| 12 | 
            +
                  def email(central_agent)
         | 
| 13 | 
            +
                    { email: central_agent.account.user.email }
         | 
| 14 | 
            +
                  end
         | 
| 15 | 
            +
             | 
| 16 | 
            +
                  def phone(central_agent)
         | 
| 17 | 
            +
                    { phone: central_agent.account.user.phone }
         | 
| 18 | 
            +
                  end
         | 
| 19 | 
            +
             | 
| 20 | 
            +
                  def name(central_agent)
         | 
| 21 | 
            +
                    { name: central_agent.account.user.name }
         | 
| 22 | 
            +
                  end
         | 
| 23 | 
            +
                end
         | 
| 24 | 
            +
              end
         | 
| 25 | 
            +
            end
         | 
| @@ -0,0 +1,64 @@ | |
| 1 | 
            +
            module Lease
         | 
| 2 | 
            +
              class RequestInfoSerializer < ::AbstractSerializer
         | 
| 3 | 
            +
                class << self
         | 
| 4 | 
            +
                  def serialize(model, attributes:, opts: {})
         | 
| 5 | 
            +
                    super
         | 
| 6 | 
            +
                  end
         | 
| 7 | 
            +
             | 
| 8 | 
            +
                  def available_attributes
         | 
| 9 | 
            +
                    %i[
         | 
| 10 | 
            +
                      id
         | 
| 11 | 
            +
                      uuid
         | 
| 12 | 
            +
                      operator
         | 
| 13 | 
            +
                      amount
         | 
| 14 | 
            +
                      currency
         | 
| 15 | 
            +
                      external_transaction_id
         | 
| 16 | 
            +
                      state
         | 
| 17 | 
            +
                      created_at
         | 
| 18 | 
            +
                      updated_at
         | 
| 19 | 
            +
                    ]
         | 
| 20 | 
            +
                  end
         | 
| 21 | 
            +
             | 
| 22 | 
            +
                  def id(request_info)
         | 
| 23 | 
            +
                    { id: request_info.id }
         | 
| 24 | 
            +
                  end
         | 
| 25 | 
            +
             | 
| 26 | 
            +
                  def uuid(request_info)
         | 
| 27 | 
            +
                    { uuid: request_info.uuid }
         | 
| 28 | 
            +
                  end
         | 
| 29 | 
            +
             | 
| 30 | 
            +
                  def operator(request_info)
         | 
| 31 | 
            +
                    {
         | 
| 32 | 
            +
                      operator: {
         | 
| 33 | 
            +
                        id:    request_info.operator.id,
         | 
| 34 | 
            +
                        index: request_info.operator.type_index
         | 
| 35 | 
            +
                      }
         | 
| 36 | 
            +
                    }
         | 
| 37 | 
            +
                  end
         | 
| 38 | 
            +
             | 
| 39 | 
            +
                  def amount(request_info)
         | 
| 40 | 
            +
                    { amount: request_info.amount }
         | 
| 41 | 
            +
                  end
         | 
| 42 | 
            +
             | 
| 43 | 
            +
                  def currency(request_info)
         | 
| 44 | 
            +
                    { currency: request_info.currency }
         | 
| 45 | 
            +
                  end
         | 
| 46 | 
            +
             | 
| 47 | 
            +
                  def external_transaction_id(request_info)
         | 
| 48 | 
            +
                    { external_transaction_id: request_info.external_transaction_id }
         | 
| 49 | 
            +
                  end
         | 
| 50 | 
            +
             | 
| 51 | 
            +
                  def state(request_info)
         | 
| 52 | 
            +
                    { state: request_info.state }
         | 
| 53 | 
            +
                  end
         | 
| 54 | 
            +
             | 
| 55 | 
            +
                  def created_at(request_info)
         | 
| 56 | 
            +
                    { created_at: request_info.created_at }
         | 
| 57 | 
            +
                  end
         | 
| 58 | 
            +
             | 
| 59 | 
            +
                  def updated_at(request_info)
         | 
| 60 | 
            +
                    { updated_at: request_info.updated_at }
         | 
| 61 | 
            +
                  end
         | 
| 62 | 
            +
                end
         | 
| 63 | 
            +
              end
         | 
| 64 | 
            +
            end
         | 
    
        data/lib/c80_shared/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: c80_shared
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.1. | 
| 4 | 
            +
              version: 0.1.90
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - C80609A
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: exe
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2020- | 
| 11 | 
            +
            date: 2020-06-07 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: bundler
         | 
| @@ -49,6 +49,7 @@ files: | |
| 49 49 | 
             
            - ".rubocop.yml"
         | 
| 50 50 | 
             
            - Gemfile
         | 
| 51 51 | 
             
            - Gemfile.lock
         | 
| 52 | 
            +
            - Makefile
         | 
| 52 53 | 
             
            - README.md
         | 
| 53 54 | 
             
            - app/dicts/account_type.rb
         | 
| 54 55 | 
             
            - app/dicts/boat_condition.rb
         | 
| @@ -68,8 +69,10 @@ files: | |
| 68 69 | 
             
            - app/dicts/length.rb
         | 
| 69 70 | 
             
            - app/dicts/locale.rb
         | 
| 70 71 | 
             
            - app/dicts/motor.rb
         | 
| 72 | 
            +
            - app/dicts/operators.rb
         | 
| 71 73 | 
             
            - app/dicts/reject_type.rb
         | 
| 72 74 | 
             
            - app/dicts/rent_skip_type.rb
         | 
| 75 | 
            +
            - app/dicts/request_info_state.rb
         | 
| 73 76 | 
             
            - app/dicts/role.rb
         | 
| 74 77 | 
             
            - app/forms/application_form.rb
         | 
| 75 78 | 
             
            - app/forms/rent_form.rb
         | 
| @@ -88,6 +91,7 @@ files: | |
| 88 91 | 
             
            - app/repositories/accounts/client_account_repository.rb
         | 
| 89 92 | 
             
            - app/repositories/events/rejects_repository.rb
         | 
| 90 93 | 
             
            - app/serializers/account_serializer.rb
         | 
| 94 | 
            +
            - app/serializers/accounts/account_central_agent_serializer.rb
         | 
| 91 95 | 
             
            - app/serializers/boat_location_serializer.rb
         | 
| 92 96 | 
             
            - app/serializers/boat_price_serializer.rb
         | 
| 93 97 | 
             
            - app/serializers/boat_sale_price_serializer.rb
         | 
| @@ -101,6 +105,7 @@ files: | |
| 101 105 | 
             
            - app/serializers/lease/bid_serializer.rb
         | 
| 102 106 | 
             
            - app/serializers/lease/inquiry_serializer.rb
         | 
| 103 107 | 
             
            - app/serializers/lease/rebate_serializer.rb
         | 
| 108 | 
            +
            - app/serializers/lease/request_info_serializer.rb
         | 
| 104 109 | 
             
            - app/serializers/lib/boats/dimensions.rb
         | 
| 105 110 | 
             
            - app/serializers/lib/boats/rent_price_per_season.rb
         | 
| 106 111 | 
             
            - app/serializers/lib/boats/sale_price.rb
         | 
| @@ -201,7 +206,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 201 206 | 
             
                - !ruby/object:Gem::Version
         | 
| 202 207 | 
             
                  version: '0'
         | 
| 203 208 | 
             
            requirements: []
         | 
| 204 | 
            -
            rubygems_version: 3.0. | 
| 209 | 
            +
            rubygems_version: 3.0.8
         | 
| 205 210 | 
             
            signing_key: 
         | 
| 206 211 | 
             
            specification_version: 4
         | 
| 207 212 | 
             
            summary: Write a short summary, because RubyGems requires one.
         |