platanus 0.1.8 → 0.1.10
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 +7 -0
 - data/lib/platanus/activable.rb +15 -25
 - data/lib/platanus/tag_set.rb +2 -2
 - data/lib/platanus/version.rb +1 -1
 - metadata +11 -18
 
    
        checksums.yaml
    ADDED
    
    | 
         @@ -0,0 +1,7 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            ---
         
     | 
| 
      
 2 
     | 
    
         
            +
            SHA1:
         
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 808d23686e78b40cc813e9b7a15698b6f17f25e5
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 4ea56d405d74ad026958e79f1de37a6344b90670
         
     | 
| 
      
 5 
     | 
    
         
            +
            SHA512:
         
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: fd51feb6d0f0961f63aab31babdd537f263f62d96e5fd386da9173f5aed6edadbc749bd874f592f887f6fe484df8d10a3c916507dce2ea12937b4a704c810615
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: e24765ea9d1518dd68d198f8ba401a7d3cd54326df49487ea1cbf28fb369a6e53944b5b2a0c13d95e6277692793ad2af8ed1d3fc56a90c09b0c73a66e0aebca5
         
     | 
    
        data/lib/platanus/activable.rb
    CHANGED
    
    | 
         @@ -4,16 +4,11 @@ 
     | 
|
| 
       4 
4 
     | 
    
         | 
| 
       5 
5 
     | 
    
         
             
            module Platanus
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
       7 
     | 
    
         
            -
               
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
       9 
     | 
    
         
            -
              #
         
     | 
| 
       10 
     | 
    
         
            -
              # This module also defines a +remove+ callback.
         
     | 
| 
       11 
     | 
    
         
            -
              #
         
     | 
| 
       12 
     | 
    
         
            -
              module Activable
         
     | 
| 
      
 7 
     | 
    
         
            +
              module ActivableBase
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
       13 
9 
     | 
    
         
             
                def self.included(base)
         
     | 
| 
       14 
10 
     | 
    
         
             
                  base.define_callbacks :remove
         
     | 
| 
       15 
11 
     | 
    
         
             
                  base.attr_protected :removed_at
         
     | 
| 
       16 
     | 
    
         
            -
                  base.send(:default_scope, base.where(:removed_at => nil))
         
     | 
| 
       17 
12 
     | 
    
         
             
                  base.extend ClassMethods
         
     | 
| 
       18 
13 
     | 
    
         
             
                end
         
     | 
| 
       19 
14 
     | 
    
         | 
| 
         @@ -42,21 +37,6 @@ module Platanus 
     | 
|
| 
       42 
37 
     | 
    
         
             
                  self.removed_at.nil?
         
     | 
| 
       43 
38 
     | 
    
         
             
                end
         
     | 
| 
       44 
39 
     | 
    
         | 
| 
       45 
     | 
    
         
            -
                # Clones current object and then removes it.
         
     | 
| 
       46 
     | 
    
         
            -
                def replace!
         
     | 
| 
       47 
     | 
    
         
            -
                  # self.class.transaction do
         
     | 
| 
       48 
     | 
    
         
            -
                  #   clone = self.class.new
         
     | 
| 
       49 
     | 
    
         
            -
                  #   self.attributes.each do |key, value|
         
     | 
| 
       50 
     | 
    
         
            -
                  #     next if ['id','created_at','removed_at'].include? key
         
     | 
| 
       51 
     | 
    
         
            -
                  #     clone.send(:write_attribute, key, value)
         
     | 
| 
       52 
     | 
    
         
            -
                  #   end
         
     | 
| 
       53 
     | 
    
         
            -
                  #   yield
         
     | 
| 
       54 
     | 
    
         
            -
                  #   clone.save!
         
     | 
| 
       55 
     | 
    
         
            -
                  #   self.remove!
         
     | 
| 
       56 
     | 
    
         
            -
                  #   return clone
         
     | 
| 
       57 
     | 
    
         
            -
                  # end
         
     | 
| 
       58 
     | 
    
         
            -
                end
         
     | 
| 
       59 
     | 
    
         
            -
             
     | 
| 
       60 
40 
     | 
    
         
             
                # Deactivates a single record.
         
     | 
| 
       61 
41 
     | 
    
         
             
                def remove!
         
     | 
| 
       62 
42 
     | 
    
         
             
                  self.transaction do
         
     | 
| 
         @@ -79,13 +59,23 @@ module Platanus 
     | 
|
| 
       79 
59 
     | 
    
         
             
                end
         
     | 
| 
       80 
60 
     | 
    
         
             
              end
         
     | 
| 
       81 
61 
     | 
    
         | 
| 
      
 62 
     | 
    
         
            +
              # When included in a model definition, this module
         
     | 
| 
      
 63 
     | 
    
         
            +
              # provides soft delete capabilities via the +remove+ method.
         
     | 
| 
      
 64 
     | 
    
         
            +
              #
         
     | 
| 
      
 65 
     | 
    
         
            +
              # This module also defines a +remove+ callback.
         
     | 
| 
      
 66 
     | 
    
         
            +
              #
         
     | 
| 
      
 67 
     | 
    
         
            +
              module Activable
         
     | 
| 
      
 68 
     | 
    
         
            +
                def self.included(base)
         
     | 
| 
      
 69 
     | 
    
         
            +
                  base.send(:include, Platanus::ActivableBase)
         
     | 
| 
      
 70 
     | 
    
         
            +
                  base.send(:default_scope, base.where(:removed_at => nil))
         
     | 
| 
      
 71 
     | 
    
         
            +
                end
         
     | 
| 
      
 72 
     | 
    
         
            +
              end
         
     | 
| 
      
 73 
     | 
    
         
            +
             
     | 
| 
       82 
74 
     | 
    
         
             
              ## Same as Activable but defines an 'alive' scope and no default scope.
         
     | 
| 
       83 
75 
     | 
    
         
             
              module ActivableExplicit
         
     | 
| 
       84 
76 
     | 
    
         
             
                def self.included(base)
         
     | 
| 
       85 
     | 
    
         
            -
                  base. 
     | 
| 
       86 
     | 
    
         
            -
                  base.attr_protected :removed_at
         
     | 
| 
      
 77 
     | 
    
         
            +
                  base.send(:include, Platanus::ActivableBase)
         
     | 
| 
       87 
78 
     | 
    
         
             
                  base.send(:scope, 'alive', base.where(:removed_at => nil))
         
     | 
| 
       88 
     | 
    
         
            -
                  base.extend Platanus::Activable::ClassMethods
         
     | 
| 
       89 
79 
     | 
    
         
             
                end
         
     | 
| 
       90 
80 
     | 
    
         
             
              end
         
     | 
| 
       91 
81 
     | 
    
         
             
            end
         
     | 
    
        data/lib/platanus/tag_set.rb
    CHANGED
    
    | 
         @@ -69,9 +69,9 @@ module Platanus::TagSetAttr 
     | 
|
| 
       69 
69 
     | 
    
         
             
                      params = []; ex_sql = []
         
     | 
| 
       70 
70 
     | 
    
         
             
                      Array(_opt[:none]).each do |token|
         
     | 
| 
       71 
71 
     | 
    
         
             
                        params << "%::#{token}::%"
         
     | 
| 
       72 
     | 
    
         
            -
                        ex_sql << "#{_name}  
     | 
| 
      
 72 
     | 
    
         
            +
                        ex_sql << "#{_name} NOT LIKE ?"
         
     | 
| 
       73 
73 
     | 
    
         
             
                      end
         
     | 
| 
       74 
     | 
    
         
            -
                      target = target.where("#{ex_sql.join(' AND ')}", *params) if params.length > 0
         
     | 
| 
      
 74 
     | 
    
         
            +
                      target = target.where("#{_name} is NULL OR (#{ex_sql.join(' AND ')})", *params) if params.length > 0
         
     | 
| 
       75 
75 
     | 
    
         
             
                    end
         
     | 
| 
       76 
76 
     | 
    
         | 
| 
       77 
77 
     | 
    
         
             
                    return target
         
     | 
    
        data/lib/platanus/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | 
         @@ -1,46 +1,41 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: platanus
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.1. 
     | 
| 
       5 
     | 
    
         
            -
              prerelease: 
         
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.1.10
         
     | 
| 
       6 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       7 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       8 
7 
     | 
    
         
             
            - Ignacio Baixas
         
     | 
| 
       9 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       10 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       11 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       12 
     | 
    
         
            -
            date:  
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2014-01-09 00:00:00.000000000 Z
         
     | 
| 
       13 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       14 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       15 
14 
     | 
    
         
             
              name: multi_json
         
     | 
| 
       16 
15 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       17 
     | 
    
         
            -
                none: false
         
     | 
| 
       18 
16 
     | 
    
         
             
                requirements:
         
     | 
| 
       19 
     | 
    
         
            -
                - -  
     | 
| 
      
 17 
     | 
    
         
            +
                - - '>='
         
     | 
| 
       20 
18 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       21 
19 
     | 
    
         
             
                    version: 1.3.2
         
     | 
| 
       22 
20 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       23 
21 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       24 
22 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       25 
     | 
    
         
            -
                none: false
         
     | 
| 
       26 
23 
     | 
    
         
             
                requirements:
         
     | 
| 
       27 
     | 
    
         
            -
                - -  
     | 
| 
      
 24 
     | 
    
         
            +
                - - '>='
         
     | 
| 
       28 
25 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       29 
26 
     | 
    
         
             
                    version: 1.3.2
         
     | 
| 
       30 
27 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       31 
28 
     | 
    
         
             
              name: rspec
         
     | 
| 
       32 
29 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       33 
     | 
    
         
            -
                none: false
         
     | 
| 
       34 
30 
     | 
    
         
             
                requirements:
         
     | 
| 
       35 
     | 
    
         
            -
                - -  
     | 
| 
      
 31 
     | 
    
         
            +
                - - '>='
         
     | 
| 
       36 
32 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       37 
33 
     | 
    
         
             
                    version: '0'
         
     | 
| 
       38 
34 
     | 
    
         
             
              type: :development
         
     | 
| 
       39 
35 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       40 
36 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       41 
     | 
    
         
            -
                none: false
         
     | 
| 
       42 
37 
     | 
    
         
             
                requirements:
         
     | 
| 
       43 
     | 
    
         
            -
                - -  
     | 
| 
      
 38 
     | 
    
         
            +
                - - '>='
         
     | 
| 
       44 
39 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       45 
40 
     | 
    
         
             
                    version: '0'
         
     | 
| 
       46 
41 
     | 
    
         
             
            description: Platan.us utility gem
         
     | 
| 
         @@ -83,29 +78,27 @@ files: 
     | 
|
| 
       83 
78 
     | 
    
         
             
            - spec/spec_helper.rb
         
     | 
| 
       84 
79 
     | 
    
         
             
            homepage: http://www.platan.us
         
     | 
| 
       85 
80 
     | 
    
         
             
            licenses: []
         
     | 
| 
      
 81 
     | 
    
         
            +
            metadata: {}
         
     | 
| 
       86 
82 
     | 
    
         
             
            post_install_message: 
         
     | 
| 
       87 
83 
     | 
    
         
             
            rdoc_options: []
         
     | 
| 
       88 
84 
     | 
    
         
             
            require_paths:
         
     | 
| 
       89 
85 
     | 
    
         
             
            - lib
         
     | 
| 
       90 
86 
     | 
    
         
             
            required_ruby_version: !ruby/object:Gem::Requirement
         
     | 
| 
       91 
     | 
    
         
            -
              none: false
         
     | 
| 
       92 
87 
     | 
    
         
             
              requirements:
         
     | 
| 
       93 
     | 
    
         
            -
              - -  
     | 
| 
      
 88 
     | 
    
         
            +
              - - '>='
         
     | 
| 
       94 
89 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       95 
90 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       96 
91 
     | 
    
         
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         
     | 
| 
       97 
     | 
    
         
            -
              none: false
         
     | 
| 
       98 
92 
     | 
    
         
             
              requirements:
         
     | 
| 
       99 
     | 
    
         
            -
              - -  
     | 
| 
      
 93 
     | 
    
         
            +
              - - '>='
         
     | 
| 
       100 
94 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       101 
95 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       102 
96 
     | 
    
         
             
            requirements: []
         
     | 
| 
       103 
97 
     | 
    
         
             
            rubyforge_project: 
         
     | 
| 
       104 
     | 
    
         
            -
            rubygems_version:  
     | 
| 
      
 98 
     | 
    
         
            +
            rubygems_version: 2.0.2
         
     | 
| 
       105 
99 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       106 
     | 
    
         
            -
            specification_version:  
     | 
| 
      
 100 
     | 
    
         
            +
            specification_version: 4
         
     | 
| 
       107 
101 
     | 
    
         
             
            summary: This gem contains various ruby classes used by Platanus in our rails proyects
         
     | 
| 
       108 
102 
     | 
    
         
             
            test_files:
         
     | 
| 
       109 
103 
     | 
    
         
             
            - spec/canned2_spec.rb
         
     | 
| 
       110 
104 
     | 
    
         
             
            - spec/spec_helper.rb
         
     | 
| 
       111 
     | 
    
         
            -
            has_rdoc: 
         
     |