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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cfc550b2d94bcbd9fb144b2541a0bdac0591aabe7d34875f9eb7f026ee383d78
4
- data.tar.gz: 04c7d8abd9e9d6eea5ccddf84cae1ab219b6bf6926380766145329648336193e
3
+ metadata.gz: 84da7fbac3758448bff24ada77389d5f5c168228d738043387caaae5b5bc4f23
4
+ data.tar.gz: 738a4e87dc0cac2b08605b526d624946fe3c96e9a10f9709044a7c68bc726bb9
5
5
  SHA512:
6
- metadata.gz: 7e9b887c028e4abdaf1a6fc08b308ae9eb05ca52b23941b6c7495484e7e9f865133629232db9d3fe48fabbd9479bce9636832c5860f963c26c9d2d75e3537a0c
7
- data.tar.gz: 178aa618f95c6284115c860c5300e27a0686da90c3708a36bdfcb246ed0891ef4a5a7588b3d011d9053a60d00b5e2abfd173afd46ec6f1474105d349a4c46e5c
6
+ metadata.gz: 11fd378b7de0c51315726681333628665e2fdea6f2f60fc1c2f81bb22e70f2d53e727b53e4176526b4852801cfec6cdcd3919633f88e6a03e6915514fdb65116
7
+ data.tar.gz: 69a351f57ca1dc89c8b1223eae002edd1538bd250846f9864eb96a7b949739b30fecfedacf9824da79944e21a2ad7ddb8e3508205dd38b0e84f097aa753d7cea
@@ -8,7 +8,7 @@ jobs:
8
8
  strategy:
9
9
  fail-fast: false
10
10
  matrix:
11
- ruby: [ ruby-head, 2.7, 2.6, 2.5 ]
11
+ ruby: [ ruby-head, '3.0', '2.7', '2.6', '2.5' ]
12
12
  steps:
13
13
  - uses: actions/checkout@v2
14
14
  - name: Set up Ruby
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 it's internal fstring for Ruby 2.7](https://bugs.ruby-lang.org/issues/16150),
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
- require 'rake/extensiontask'
13
- GEMSPEC = eval(File.read('fstring.gemspec'))
14
- Rake::ExtensionTask.new('fstring', GEMSPEC) do |ext|
15
- ext.ext_dir = 'ext/fstring'
16
- ext.lib_dir = 'lib/fstring'
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
@@ -1,10 +1,14 @@
1
1
  require 'mkmf'
2
2
 
3
- $CFLAGS = "-D_GNU_SOURCE -Werror -Wall "
4
- if ENV.key?('DEBUG')
5
- $CFLAGS << "-O0 -g -DDEBUG"
3
+ if Symbol.method_defined?(:name)
4
+ File.write("Makefile", dummy_makefile($srcdir).join(""))
6
5
  else
7
- $CFLAGS << "-O3"
8
- end
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", "~> 10.0"
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"
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module FString
4
- VERSION = "1.0.0"
4
+ VERSION = "1.0.1"
5
5
  end
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.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: 2020-09-08 00:00:00.000000000 Z
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: '10.0'
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: '10.0'
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.1.2
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