sparrow-entity 0.1.2 → 0.1.3
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/README.md +26 -0
- data/lib/generators/sparrow/entity/entity_generator.rb +6 -4
- data/lib/sparrow/boolean.rb +13 -0
- data/lib/sparrow/class_methods.rb +5 -0
- data/lib/sparrow/version.rb +1 -1
- data/lib/sparrow.rb +1 -0
- metadata +3 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 69113e86b45a13eb5d19a0943cb23cf4e3c8d3851335570d1712de019a316b7f
         | 
| 4 | 
            +
              data.tar.gz: 24556d2a767791e72ac5d22521e3fd2b1bede695ee9eb317b66f356b0dab673e
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 9bf271a192c53689eee128a566a2fa0b212b45830893fe8e41c27460bba8a12ad7c1dc3538bdde1afb536e77df5d34d9eca4820a354cba7dbf81c33012e42edb
         | 
| 7 | 
            +
              data.tar.gz: cf9accc428f958c6eba624ff8199d14d7df63e696c78f13bbe200d3d7818f4e6bec634ed459b4a30c48ef8418d4e20bea25be883a76921d690c458c982b3abdd
         | 
    
        data/Gemfile.lock
    CHANGED
    
    
    
        data/README.md
    CHANGED
    
    | @@ -57,6 +57,32 @@ me.birthday | |
| 57 57 | 
             
            # => <Date 2022年1月1日> 实例对象
         | 
| 58 58 | 
             
            ```
         | 
| 59 59 |  | 
| 60 | 
            +
            ### 布尔型属性
         | 
| 61 | 
            +
             | 
| 62 | 
            +
            当需要定义一个属性字段为布尔型时,可以使用本 gem 内置的 `Sparrow::Boolean` 作为类型定义即可。当赋予 **true** 值或者等价于(即使用 `present?` 判断为真)其值时被赋予真值,否则被赋予假值。同样的,如果没有对其进行赋值,则获取该字段属性会返回 **nil** 空值。
         | 
| 63 | 
            +
             | 
| 64 | 
            +
            ```ruby
         | 
| 65 | 
            +
            class OtherEntity < Sparrow::Base
         | 
| 66 | 
            +
              field :married, Sparrow::Boolean
         | 
| 67 | 
            +
            end
         | 
| 68 | 
            +
             | 
| 69 | 
            +
            obj = OtherEntity.new
         | 
| 70 | 
            +
            obj.married
         | 
| 71 | 
            +
            # => nil
         | 
| 72 | 
            +
             | 
| 73 | 
            +
            obj.married = true
         | 
| 74 | 
            +
            obj.married
         | 
| 75 | 
            +
            # => true
         | 
| 76 | 
            +
             | 
| 77 | 
            +
            obj.married = ''
         | 
| 78 | 
            +
            obj.married
         | 
| 79 | 
            +
            # => false
         | 
| 80 | 
            +
             | 
| 81 | 
            +
            obj.married = 'yes'
         | 
| 82 | 
            +
            obj.married
         | 
| 83 | 
            +
            # => true
         | 
| 84 | 
            +
            ```
         | 
| 85 | 
            +
             | 
| 60 86 | 
             
            ### 赋值
         | 
| 61 87 |  | 
| 62 88 | 
             
            上例中也展示了为实体类的实例进行属性赋值的方式之一,即创建时指定属性名对应的值。当然也可以在创建后分别给属性赋值。
         | 
| @@ -11,7 +11,7 @@ module Sparrow | |
| 11 11 | 
             
                TARGET_RELATIVE_PATH = 'app/entities'
         | 
| 12 12 |  | 
| 13 13 | 
             
                # 单模组模板
         | 
| 14 | 
            -
                MODULE_TEMPLATE  | 
| 14 | 
            +
                MODULE_TEMPLATE = <<~MODULE.strip
         | 
| 15 15 | 
             
                  module %{module_name}
         | 
| 16 16 | 
             
                  %{module_content}
         | 
| 17 17 | 
             
                  end
         | 
| @@ -59,11 +59,11 @@ module Sparrow | |
| 59 59 | 
             
                end
         | 
| 60 60 |  | 
| 61 61 | 
             
                def __module_content__(name, content)
         | 
| 62 | 
            -
                   | 
| 62 | 
            +
                  MODULE_TEMPLATE % { module_name: name.camelize, module_content: indent(content, 2) }
         | 
| 63 63 | 
             
                end
         | 
| 64 64 |  | 
| 65 65 | 
             
                def __class_content__
         | 
| 66 | 
            -
                   | 
| 66 | 
            +
                  CLASS_TEMPLATE % { class_name: file_name.camelize }
         | 
| 67 67 | 
             
                end
         | 
| 68 68 |  | 
| 69 69 | 
             
                def __class_body__
         | 
| @@ -76,7 +76,9 @@ module Sparrow | |
| 76 76 | 
             
                  current = paths.shift
         | 
| 77 77 | 
             
                  content = paths.size.positive? ? __module_body__(paths) : ''
         | 
| 78 78 | 
             
                  result = current ? __module_content__(current, content) : ''
         | 
| 79 | 
            -
                  result.each_line.select | 
| 79 | 
            +
                  result = result.each_line.select(&:present?).join
         | 
| 80 | 
            +
                  result << "\n"
         | 
| 81 | 
            +
                  result
         | 
| 80 82 | 
             
                end
         | 
| 81 83 | 
             
              end
         | 
| 82 84 | 
             
            end
         | 
| @@ -98,6 +98,11 @@ module Sparrow | |
| 98 98 | 
             
                            end
         | 
| 99 99 | 
             
                      instance_variable_set(instance_var_name, val)
         | 
| 100 100 | 
             
                    end
         | 
| 101 | 
            +
                  elsif attr_class == ::Sparrow::Boolean
         | 
| 102 | 
            +
                    # 如果是布尔值类型
         | 
| 103 | 
            +
                    define_method(setter_name) do |value|
         | 
| 104 | 
            +
                      instance_variable_set(instance_var_name, value.present?)
         | 
| 105 | 
            +
                    end
         | 
| 101 106 | 
             
                  else
         | 
| 102 107 | 
             
                    # 其他类型原封不动
         | 
| 103 108 | 
             
                    define_method(setter_name) do |value|
         | 
    
        data/lib/sparrow/version.rb
    CHANGED
    
    
    
        data/lib/sparrow.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: sparrow-entity
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.1. | 
| 4 | 
            +
              version: 0.1.3
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - shiner
         | 
| 8 8 | 
             
            autorequire:
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2022-01- | 
| 11 | 
            +
            date: 2022-01-10 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: activemodel
         | 
| @@ -182,6 +182,7 @@ files: | |
| 182 182 | 
             
            - lib/generators/sparrow/entity/templates/sparrow_entity.rb.tt
         | 
| 183 183 | 
             
            - lib/sparrow.rb
         | 
| 184 184 | 
             
            - lib/sparrow/base.rb
         | 
| 185 | 
            +
            - lib/sparrow/boolean.rb
         | 
| 185 186 | 
             
            - lib/sparrow/class_methods.rb
         | 
| 186 187 | 
             
            - lib/sparrow/version.rb
         | 
| 187 188 | 
             
            - sparrow.gemspec
         |