symbol-fstring 1.0.0 → 1.0.1
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/.github/workflows/ci.yml +1 -1
- data/README.md +1 -1
- data/Rakefile +16 -6
- data/ext/fstring/extconf.rb +10 -6
- data/fstring.gemspec +1 -1
- data/lib/fstring/version.rb +1 -1
- metadata +6 -8
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 84da7fbac3758448bff24ada77389d5f5c168228d738043387caaae5b5bc4f23
         | 
| 4 | 
            +
              data.tar.gz: 738a4e87dc0cac2b08605b526d624946fe3c96e9a10f9709044a7c68bc726bb9
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 11fd378b7de0c51315726681333628665e2fdea6f2f60fc1c2f81bb22e70f2d53e727b53e4176526b4852801cfec6cdcd3919633f88e6a03e6915514fdb65116
         | 
| 7 | 
            +
              data.tar.gz: 69a351f57ca1dc89c8b1223eae002edd1538bd250846f9864eb96a7b949739b30fecfedacf9824da79944e21a2ad7ddb8e3508205dd38b0e84f097aa753d7cea
         | 
    
        data/.github/workflows/ci.yml
    CHANGED
    
    
    
        data/README.md
    CHANGED
    
    | @@ -10,7 +10,7 @@ In Ruby many APIs tend to accept symbols, but regularly convert them to string i | |
| 10 10 | 
             
            The problem with this is that `Symbol#to_s` creates a new string every time it is invoked, and since it often happens
         | 
| 11 11 | 
             
            in hotspots, it causes a lot of work for the garbage collector, and cause many identical strings to be kept in memory.
         | 
| 12 12 |  | 
| 13 | 
            -
            There was [an attempt to make `Symbol#to_s` return  | 
| 13 | 
            +
            There was [an attempt to make `Symbol#to_s` return its internal fstring for Ruby 2.7](https://bugs.ruby-lang.org/issues/16150),
         | 
| 14 14 | 
             
            but unfortunately it got reverted, instead [Ruby 3.0 should have `Symbol#name`](https://github.com/ruby/ruby/commit/eb67c603ca7e435181684857e650b4633fda5bb6).
         | 
| 15 15 |  | 
| 16 16 | 
             
            This gem backports the `Symbol#name` method for older rubies, and optionally allow to replace `Symbol#to_s` by `Symbol#name`.
         | 
    
        data/Rakefile
    CHANGED
    
    | @@ -9,10 +9,20 @@ end | |
| 9 9 |  | 
| 10 10 | 
             
            task :default => [:build, :test]
         | 
| 11 11 |  | 
| 12 | 
            -
             | 
| 13 | 
            -
             | 
| 14 | 
            -
             | 
| 15 | 
            -
               | 
| 16 | 
            -
             | 
| 12 | 
            +
            if Symbol.method_defined?(:name)
         | 
| 13 | 
            +
              task :compile do
         | 
| 14 | 
            +
                # noop
         | 
| 15 | 
            +
              end
         | 
| 16 | 
            +
             | 
| 17 | 
            +
              task :clean do
         | 
| 18 | 
            +
                # noop
         | 
| 19 | 
            +
              end
         | 
| 20 | 
            +
            else
         | 
| 21 | 
            +
              require 'rake/extensiontask'
         | 
| 22 | 
            +
              GEMSPEC = eval(File.read('fstring.gemspec'))
         | 
| 23 | 
            +
              Rake::ExtensionTask.new('fstring', GEMSPEC) do |ext|
         | 
| 24 | 
            +
                ext.ext_dir = 'ext/fstring'
         | 
| 25 | 
            +
                ext.lib_dir = 'lib/fstring'
         | 
| 26 | 
            +
              end
         | 
| 27 | 
            +
              task build: :compile
         | 
| 17 28 | 
             
            end
         | 
| 18 | 
            -
            task build: :compile
         | 
    
        data/ext/fstring/extconf.rb
    CHANGED
    
    | @@ -1,10 +1,14 @@ | |
| 1 1 | 
             
            require 'mkmf'
         | 
| 2 2 |  | 
| 3 | 
            -
             | 
| 4 | 
            -
             | 
| 5 | 
            -
              $CFLAGS << "-O0 -g -DDEBUG"
         | 
| 3 | 
            +
            if Symbol.method_defined?(:name)
         | 
| 4 | 
            +
              File.write("Makefile", dummy_makefile($srcdir).join(""))
         | 
| 6 5 | 
             
            else
         | 
| 7 | 
            -
              $CFLAGS << "- | 
| 8 | 
            -
             | 
| 6 | 
            +
              $CFLAGS << " -D_GNU_SOURCE -Werror -Wall "
         | 
| 7 | 
            +
              if ENV.key?('DEBUG')
         | 
| 8 | 
            +
                $CFLAGS << " -O0 -g -DDEBUG "
         | 
| 9 | 
            +
              else
         | 
| 10 | 
            +
                $CFLAGS << " -O3 "
         | 
| 11 | 
            +
              end
         | 
| 9 12 |  | 
| 10 | 
            -
            create_makefile('fstring/fstring')
         | 
| 13 | 
            +
              create_makefile('fstring/fstring')
         | 
| 14 | 
            +
            end
         | 
    
        data/fstring.gemspec
    CHANGED
    
    | @@ -40,7 +40,7 @@ Gem::Specification.new do |spec| | |
| 40 40 | 
             
              spec.require_paths = ["lib"]
         | 
| 41 41 |  | 
| 42 42 | 
             
              spec.add_development_dependency "bundler", "~> 2.0"
         | 
| 43 | 
            -
              spec.add_development_dependency "rake", "~>  | 
| 43 | 
            +
              spec.add_development_dependency "rake", "~> 13"
         | 
| 44 44 | 
             
              spec.add_development_dependency "minitest", "~> 5.0"
         | 
| 45 45 | 
             
              spec.add_development_dependency "benchmark-ips", "~> 2.7"
         | 
| 46 46 | 
             
              spec.add_development_dependency "activesupport"
         | 
    
        data/lib/fstring/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: symbol-fstring
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1.0. | 
| 4 | 
            +
              version: 1.0.1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Jean Boussier
         | 
| 8 8 | 
             
            autorequire:
         | 
| 9 9 | 
             
            bindir: exe
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date:  | 
| 11 | 
            +
            date: 2021-05-04 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: bundler
         | 
| @@ -30,14 +30,14 @@ dependencies: | |
| 30 30 | 
             
                requirements:
         | 
| 31 31 | 
             
                - - "~>"
         | 
| 32 32 | 
             
                  - !ruby/object:Gem::Version
         | 
| 33 | 
            -
                    version: ' | 
| 33 | 
            +
                    version: '13'
         | 
| 34 34 | 
             
              type: :development
         | 
| 35 35 | 
             
              prerelease: false
         | 
| 36 36 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 37 37 | 
             
                requirements:
         | 
| 38 38 | 
             
                - - "~>"
         | 
| 39 39 | 
             
                  - !ruby/object:Gem::Version
         | 
| 40 | 
            -
                    version: ' | 
| 40 | 
            +
                    version: '13'
         | 
| 41 41 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 42 42 | 
             
              name: minitest
         | 
| 43 43 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -98,14 +98,12 @@ description: | |
| 98 98 | 
             
            email:
         | 
| 99 99 | 
             
            - jean.boussier@gmail.com
         | 
| 100 100 | 
             
            executables: []
         | 
| 101 | 
            -
            extensions:
         | 
| 102 | 
            -
            - ext/fstring/extconf.rb
         | 
| 101 | 
            +
            extensions: []
         | 
| 103 102 | 
             
            extra_rdoc_files: []
         | 
| 104 103 | 
             
            files:
         | 
| 105 104 | 
             
            - ".github/workflows/ci.yml"
         | 
| 106 105 | 
             
            - ".gitignore"
         | 
| 107 106 | 
             
            - Gemfile
         | 
| 108 | 
            -
            - Gemfile.lock
         | 
| 109 107 | 
             
            - LICENSE.txt
         | 
| 110 108 | 
             
            - README.md
         | 
| 111 109 | 
             
            - Rakefile
         | 
| @@ -143,7 +141,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 143 141 | 
             
                - !ruby/object:Gem::Version
         | 
| 144 142 | 
             
                  version: '0'
         | 
| 145 143 | 
             
            requirements: []
         | 
| 146 | 
            -
            rubygems_version: 3. | 
| 144 | 
            +
            rubygems_version: 3.3.0.dev
         | 
| 147 145 | 
             
            signing_key:
         | 
| 148 146 | 
             
            specification_version: 4
         | 
| 149 147 | 
             
            summary: Allow fast access to internal fstring of symbols and modules
         |