rudash 2.13.0 → 2.14.0
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/rudash/chain.rb +7 -0
- data/lib/rudash.rb +4 -0
- data/lib/utils/chain_wrapper.rb +21 -0
- data/lib/utils/dynamic_args_count.rb +1 -1
- metadata +3 -1
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: a0efde163ec32f1ae10522e24a34dc1d316a6b106db818e18760c86a4b95b53f
         | 
| 4 | 
            +
              data.tar.gz: ff3255666168a904db28841d7f82ccc319dadc0c65054009e6b056c13b9a3927
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 99de8b06532e11d4f96c5a9ce64b96a9cd4a7dff105d8e61fed16472e8e49980cd7c59eef8b18d90522f2d8ef2a073752c069bdb2b2ce357d1f5fe989ae435f1
         | 
| 7 | 
            +
              data.tar.gz: 6b9bbd93a29b3e4af5d423ec5a06b6d1052e52dd169b2ad65ab8d99a748ad2d357f295a60cb8fdaabc79e3273c8efc507441fbb72ee4ad7494335a1b0363503c
         | 
    
        data/lib/rudash/chain.rb
    ADDED
    
    
    
        data/lib/rudash.rb
    CHANGED
    
    | @@ -48,6 +48,9 @@ require_relative './rudash/range.rb' | |
| 48 48 | 
             
            require_relative './rudash/group_by.rb'
         | 
| 49 49 | 
             
            require_relative './rudash/take.rb'
         | 
| 50 50 | 
             
            require_relative './rudash/drop_right.rb'
         | 
| 51 | 
            +
            require_relative './rudash/chain.rb'
         | 
| 52 | 
            +
             | 
| 53 | 
            +
            require_relative './utils/chain_wrapper.rb'
         | 
| 51 54 |  | 
| 52 55 | 
             
            # This is the exposed Gem class that contains all Rudash methods.
         | 
| 53 56 | 
             
            # New methods can use already implemented methods in the library by refering to "self"
         | 
| @@ -103,4 +106,5 @@ class R_ | |
| 103 106 | 
             
                extend Rudash::GroupBy
         | 
| 104 107 | 
             
                extend Rudash::Take
         | 
| 105 108 | 
             
                extend Rudash::DropRight
         | 
| 109 | 
            +
                extend Rudash::Chain
         | 
| 106 110 | 
             
            end
         | 
| @@ -0,0 +1,21 @@ | |
| 1 | 
            +
            module Rudash
         | 
| 2 | 
            +
                module ChainUtils
         | 
| 3 | 
            +
                    class ChainWrapper
         | 
| 4 | 
            +
                        def initialize(value, r_)
         | 
| 5 | 
            +
                            @value = value
         | 
| 6 | 
            +
                            @r_ = r_
         | 
| 7 | 
            +
                        end
         | 
| 8 | 
            +
             | 
| 9 | 
            +
                        def value
         | 
| 10 | 
            +
                            @value
         | 
| 11 | 
            +
                        end
         | 
| 12 | 
            +
             | 
| 13 | 
            +
                        def method_missing(method_name, *args, &block)
         | 
| 14 | 
            +
                                result = @r_.public_send(method_name, @value, *args)
         | 
| 15 | 
            +
                                self.class.new(result, @r_)
         | 
| 16 | 
            +
                        rescue NameError
         | 
| 17 | 
            +
                            raise NameError.new("\"#{method_name}\" doesn't exist in Rudash")
         | 
| 18 | 
            +
                        end
         | 
| 19 | 
            +
                    end
         | 
| 20 | 
            +
                end
         | 
| 21 | 
            +
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: rudash
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 2. | 
| 4 | 
            +
              version: 2.14.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Islam Attrash
         | 
| @@ -19,6 +19,7 @@ files: | |
| 19 19 | 
             
            - lib/rudash.rb
         | 
| 20 20 | 
             
            - lib/rudash/at.rb
         | 
| 21 21 | 
             
            - lib/rudash/capitalize.rb
         | 
| 22 | 
            +
            - lib/rudash/chain.rb
         | 
| 22 23 | 
             
            - lib/rudash/compact.rb
         | 
| 23 24 | 
             
            - lib/rudash/concat.rb
         | 
| 24 25 | 
             
            - lib/rudash/curry.rb
         | 
| @@ -67,6 +68,7 @@ files: | |
| 67 68 | 
             
            - lib/rudash/uniq.rb
         | 
| 68 69 | 
             
            - lib/rudash/update.rb
         | 
| 69 70 | 
             
            - lib/rudash/without.rb
         | 
| 71 | 
            +
            - lib/utils/chain_wrapper.rb
         | 
| 70 72 | 
             
            - lib/utils/dynamic_args_count.rb
         | 
| 71 73 | 
             
            - lib/utils/index.rb
         | 
| 72 74 | 
             
            - lib/utils/nested_path_creator.rb
         |