ruby_codex 0.0.5 → 0.0.6
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.
- data/lib/ruby_codex.rb +14 -5
- metadata +6 -5
- checksums.yaml +0 -15
    
        data/lib/ruby_codex.rb
    CHANGED
    
    | @@ -1,4 +1,5 @@ | |
| 1 1 | 
             
            load 'data_node.rb'
         | 
| 2 | 
            +
            require 'pp'
         | 
| 2 3 |  | 
| 3 4 | 
             
            class Codex
         | 
| 4 5 |  | 
| @@ -107,11 +108,18 @@ class Codex | |
| 107 108 | 
             
                    query = db.where(keys).first
         | 
| 108 109 | 
             
                    query_count = query.nil? ? 0 : query.count
         | 
| 109 110 | 
             
                    func = db.where(:type => keys[:type], :func => keys[:func]).sort(:count => -1).limit(1).first
         | 
| 110 | 
            -
                     | 
| 111 | 
            +
                    alt_text = 
         | 
| 112 | 
            +
                      if func
         | 
| 113 | 
            +
                        alt_count = func.count 
         | 
| 114 | 
            +
                        "and the most common alternative #{func.norm_code} has appeared #{alt_count.to_s} times."
         | 
| 115 | 
            +
                      else
         | 
| 116 | 
            +
                        alt_count = 0
         | 
| 117 | 
            +
                        "and we've seen no known alternative."
         | 
| 118 | 
            +
                      end
         | 
| 111 119 | 
             
                    { :keys => keys,
         | 
| 112 120 | 
             
                      :message =>
         | 
| 113 | 
            -
                        "Function call #{keys[:norm_code]} has appeared #{query_count.to_s} times,  | 
| 114 | 
            -
                         | 
| 121 | 
            +
                        "Function call #{keys[:norm_code]} has appeared #{query_count.to_s} times, " +
         | 
| 122 | 
            +
                        alt_text,
         | 
| 115 123 | 
             
                      :unlikely => Proc.new { |t=10| alt_count > t * (query_count + 1)}
         | 
| 116 124 | 
             
                    }
         | 
| 117 125 | 
             
                  }
         | 
| @@ -178,11 +186,12 @@ class Codex | |
| 178 186 | 
             
                      types = query.ident_types.select { |k,v| ["str","int","float","array","hash"].include? k }
         | 
| 179 187 | 
             
                      types.default = 0
         | 
| 180 188 | 
             
                      best = types.select { |k,v| k != data[:ident_type] }.sort_by{ |k,v| v*-1 }.first
         | 
| 189 | 
            +
                      best_str = best ? "#{best[1].to_s} times as #{best[0].to_s}" : "never as anything else."
         | 
| 181 190 | 
             
                      { :keys => keys,
         | 
| 182 191 | 
             
                        :message => 
         | 
| 183 192 | 
             
                          "The identifier #{keys[:ident]} has appeared #{types[data[:ident_type]].to_s} " +
         | 
| 184 | 
            -
                          "times as #{data[:ident_type].to_s} and #{ | 
| 185 | 
            -
                        :unlikely => Proc.new { |t=5| best[1] > t * (types[keys[:ident_type]] + 1) }
         | 
| 193 | 
            +
                          "times as #{data[:ident_type].to_s} and #{best_str}", 
         | 
| 194 | 
            +
                        :unlikely => Proc.new { |t=5| best ? best[1] > t * (types[keys[:ident_type]] + 1) : false }
         | 
| 186 195 | 
             
                      }
         | 
| 187 196 | 
             
                    else
         | 
| 188 197 | 
             
                      { :message => "Never Seen", :unlikely => Proc.new { false } }
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,8 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: ruby_codex
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.0. | 
| 4 | 
            +
              version: 0.0.6
         | 
| 5 | 
            +
              prerelease: 
         | 
| 5 6 | 
             
            platform: ruby
         | 
| 6 7 | 
             
            authors:
         | 
| 7 8 | 
             
            - Ethan Fast
         | 
| @@ -22,26 +23,26 @@ files: | |
| 22 23 | 
             
            homepage: http://rubygems.org/gems/ruby-codex
         | 
| 23 24 | 
             
            licenses:
         | 
| 24 25 | 
             
            - MIT
         | 
| 25 | 
            -
            metadata: {}
         | 
| 26 26 | 
             
            post_install_message: 
         | 
| 27 27 | 
             
            rdoc_options: []
         | 
| 28 28 | 
             
            require_paths:
         | 
| 29 29 | 
             
            - lib
         | 
| 30 30 | 
             
            required_ruby_version: !ruby/object:Gem::Requirement
         | 
| 31 | 
            +
              none: false
         | 
| 31 32 | 
             
              requirements:
         | 
| 32 33 | 
             
              - - ! '>='
         | 
| 33 34 | 
             
                - !ruby/object:Gem::Version
         | 
| 34 35 | 
             
                  version: '0'
         | 
| 35 36 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 37 | 
            +
              none: false
         | 
| 36 38 | 
             
              requirements:
         | 
| 37 39 | 
             
              - - ! '>='
         | 
| 38 40 | 
             
                - !ruby/object:Gem::Version
         | 
| 39 41 | 
             
                  version: '0'
         | 
| 40 42 | 
             
            requirements: []
         | 
| 41 43 | 
             
            rubyforge_project: 
         | 
| 42 | 
            -
            rubygems_version:  | 
| 44 | 
            +
            rubygems_version: 1.8.25
         | 
| 43 45 | 
             
            signing_key: 
         | 
| 44 | 
            -
            specification_version:  | 
| 46 | 
            +
            specification_version: 3
         | 
| 45 47 | 
             
            summary: Analyze ruby ASTs with Codex
         | 
| 46 48 | 
             
            test_files: []
         | 
| 47 | 
            -
            has_rdoc: 
         | 
    
        checksums.yaml
    DELETED
    
    | @@ -1,15 +0,0 @@ | |
| 1 | 
            -
            ---
         | 
| 2 | 
            -
            !binary "U0hBMQ==":
         | 
| 3 | 
            -
              metadata.gz: !binary |-
         | 
| 4 | 
            -
                YmVlZWZiZWU3MWNlNDMxMWIwYzFhMzVhZDczMWUxNzAzMGQxN2M2OA==
         | 
| 5 | 
            -
              data.tar.gz: !binary |-
         | 
| 6 | 
            -
                N2NhNGQzYmYwNzAzNTk1M2I3ZDkyZjM2YTU5OGJlNzZkMjcwYmYyYg==
         | 
| 7 | 
            -
            !binary "U0hBNTEy":
         | 
| 8 | 
            -
              metadata.gz: !binary |-
         | 
| 9 | 
            -
                NGQ5NmI1ZTkwMjNiZDZlZjExZjUzMzBhYWJhNDJkZTYwZTE3MDIzODcxOTNh
         | 
| 10 | 
            -
                ZGMxNDhlNGZjOWZlNmU4NTdkNjIyZGVhM2I4MzFkNTk0MTU5ZTA5YjRhZjcy
         | 
| 11 | 
            -
                NTFmMmI2ZDNhZTU5MmE1YzlkNWU1NzE3YTMwMzMzODQ0YjlhY2Q=
         | 
| 12 | 
            -
              data.tar.gz: !binary |-
         | 
| 13 | 
            -
                MWU4Zjg1M2FlZDc2NzRhNmNkMjNjYTVhZjE3OTE3ODAxY2Y4ZWIwYjdiMDBi
         | 
| 14 | 
            -
                ODUzZjE5MmE4MzQ1OTVjYjRkMDViYzA2MjFhZTFiMDkxOWY1NmUxNzZjNjY0
         | 
| 15 | 
            -
                YTlhMTM3ZjdkZGQyYjNkZjNlYjhkNzgwODVmOTczNGZkYjFlZGU=
         |