simple_flag 0.2.0 → 0.3.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 18fd6ddd2543f859954f77dbb4d2a64554371199ce04c0077ce8959ae0686b6c
4
- data.tar.gz: f84e73174f51d979c5472e627bc3dabc7f52842cadb432b644db65303a235faf
3
+ metadata.gz: bbd1947bf544e442e36623fd657fb8cdf6e0efe8fb63ec7f0971f262be989ca0
4
+ data.tar.gz: 195755be62e37c5e6ba4e6ac26c35b1923336fe928077e8fb949e2c4b1ef9c24
5
5
  SHA512:
6
- metadata.gz: d17a746f61b88cf9379133f45de57bf51ed0cfa991fb6e5fdf71eb0c61e6caf22cca57cefd77b2d9d26a12150af251c867568f2a2298e43f377aace9a8c8fb7e
7
- data.tar.gz: 5b8c4fd26b55ea4b34a51bca29b0aca56730e3d1fd24c8131a2b26335dc026c3ffa8f75f4d25ad4fe02eeb076e93134597f18e5cc0c75c9d2f719863cb081ad0
6
+ metadata.gz: 2513065a2f663f190be82516af7f633b85ac3ea3615d036cc296c08e7a19f151a0fff34f0e025d67e8c452ca7b14e393f9dc087aa05778fb7ebc4be015a2e0b5
7
+ data.tar.gz: 1bae49ddd11e11832f46cd908c70998fef9097b114d66c034d4cb6c32e627aa968ad73b4cd3adbb0118ee3acb18728181607c52a27116ab3448496661521f49d
@@ -0,0 +1,30 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [ 'master' ]
6
+ pull_request:
7
+ branches: [ 'master' ]
8
+
9
+ permissions:
10
+ contents: read
11
+
12
+ jobs:
13
+ test:
14
+
15
+ runs-on: ubuntu-latest
16
+ strategy:
17
+ matrix:
18
+ ruby-version: ['2.7', '3.0', '3.1', '3.2']
19
+
20
+ steps:
21
+ - uses: actions/checkout@v3
22
+ - name: Set up Ruby
23
+ uses: ruby/setup-ruby@v1
24
+ with:
25
+ ruby-version: ${{ matrix.ruby-version }}
26
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
27
+ - name: Run linter
28
+ run: bundle exec rubocop
29
+ - name: Run tests
30
+ run: bundle exec rspec
data/.gitignore CHANGED
@@ -9,5 +9,8 @@
9
9
  /tmp/
10
10
  Gemfile.lock
11
11
 
12
+ # ASDF-VM
13
+ .tool-versions
14
+
12
15
  # rspec failure tracking
13
16
  .rspec_status
data/.rubocop.yml CHANGED
@@ -1,3 +1,7 @@
1
+ AllCops:
2
+ NewCops: enable
3
+ Gemspec/RequiredRubyVersion:
4
+ Enabled: false
1
5
  Layout/LineLength:
2
6
  Max: 120
3
7
  Layout/MultilineMethodCallIndentation:
@@ -12,3 +16,5 @@ Style/GuardClause:
12
16
  Enabled: false
13
17
  Style/NumericPredicate:
14
18
  Enabled: false
19
+ Style/OptionalBooleanParameter:
20
+ Enabled: false
data/Gemfile CHANGED
@@ -5,5 +5,6 @@ source 'https://rubygems.org'
5
5
  # Specify your gem's dependencies in simple_flag.gemspec
6
6
  gemspec
7
7
 
8
- gem 'rake', '~> 12.0'
9
- gem 'rspec', '~> 3.0'
8
+ gem 'rake', '~> 13.1'
9
+ gem 'rspec', '~> 3.12'
10
+ gem 'rubocop', '~> 1.57'
@@ -1,6 +1,8 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class SimpleFlag
4
+ # Overrides module provides methods for overriding feature flags during testing.
2
5
  module Overrides
3
-
4
6
  def override(name, result = true, &block)
5
7
  raise FlagNotDefined, "Feature flag `#{name}` is not defined" unless flag?(name)
6
8
 
@@ -42,6 +44,5 @@ class SimpleFlag
42
44
  def overridden?(name)
43
45
  @overrides.key?(name)
44
46
  end
45
-
46
47
  end
47
48
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class SimpleFlag
4
- VERSION = '0.2.0'
4
+ VERSION = '0.3.0'
5
5
  end
data/lib/simple_flag.rb CHANGED
@@ -127,7 +127,7 @@ class SimpleFlag
127
127
 
128
128
  if original_arity != override_arity
129
129
  raise FlagArgumentsMismatch, "Flag '#{flag_name}' expects #{flag_arity} arguments, " \
130
- "but #{override_arity} arguments were given"
130
+ "but #{override_arity} arguments were given"
131
131
  end
132
132
  end
133
133
 
@@ -135,11 +135,11 @@ class SimpleFlag
135
135
  if flag_arity < 0 && (flag_arity.abs - 1) > args_size
136
136
  # Contains variable -n-1 arguments
137
137
  raise FlagArgumentsMismatch, "Flag '#{flag_name}' expects #{flag_arity.abs - 1} or more arguments, " \
138
- "but #{args_size} arguments were given"
138
+ "but #{args_size} arguments were given"
139
139
  elsif flag_arity >= 0 && flag_arity != args_size
140
140
  # Contains zero or fixed number of arguments
141
141
  raise FlagArgumentsMismatch, "Flag '#{flag_name}' expects #{flag_arity} arguments, " \
142
- "but #{args_size} arguments were given"
142
+ "but #{args_size} arguments were given"
143
143
  end
144
144
  end
145
145
  end
data/simple_flag.gemspec CHANGED
@@ -18,8 +18,9 @@ Gem::Specification.new do |spec|
18
18
  spec.metadata['changelog_uri'] = 'https://github.com/wojtha/simple_flag/blob/master/CHANGELOG.md'
19
19
  spec.metadata['source_code_uri'] = 'https://github.com/wojtha/simple_flag'
20
20
  spec.metadata['bug_tracker_uri'] = 'https://github.com/wojtha/simple_flag/issues'
21
+ spec.metadata['rubygems_mfa_required'] = 'true'
21
22
 
22
- spec.required_ruby_version = '>= 2.4.0'
23
+ spec.required_ruby_version = '>= 2.7.0'
23
24
 
24
25
  # Specify which files should be added to the gem when it is released.
25
26
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
@@ -29,8 +30,4 @@ Gem::Specification.new do |spec|
29
30
  spec.bindir = 'bin'
30
31
  spec.executables = []
31
32
  spec.require_paths = ['lib']
32
-
33
- spec.add_development_dependency 'bundler'
34
- spec.add_development_dependency 'rake'
35
- spec.add_development_dependency 'rspec'
36
33
  end
metadata CHANGED
@@ -1,57 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simple_flag
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vojtěch Kusý
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-09-22 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: bundler
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: rake
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: rspec
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '0'
11
+ date: 2023-11-01 00:00:00.000000000 Z
12
+ dependencies: []
55
13
  description: Simple but powerful feature flag implementation in 90 LOC.
56
14
  email:
57
15
  - wojtha@gmail.com
@@ -59,10 +17,10 @@ executables: []
59
17
  extensions: []
60
18
  extra_rdoc_files: []
61
19
  files:
20
+ - ".github/workflows/ci.yml"
62
21
  - ".gitignore"
63
22
  - ".rspec"
64
23
  - ".rubocop.yml"
65
- - ".travis.yml"
66
24
  - Gemfile
67
25
  - LICENSE
68
26
  - README.md
@@ -82,6 +40,7 @@ metadata:
82
40
  changelog_uri: https://github.com/wojtha/simple_flag/blob/master/CHANGELOG.md
83
41
  source_code_uri: https://github.com/wojtha/simple_flag
84
42
  bug_tracker_uri: https://github.com/wojtha/simple_flag/issues
43
+ rubygems_mfa_required: 'true'
85
44
  post_install_message:
86
45
  rdoc_options: []
87
46
  require_paths:
@@ -90,14 +49,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
90
49
  requirements:
91
50
  - - ">="
92
51
  - !ruby/object:Gem::Version
93
- version: 2.4.0
52
+ version: 2.7.0
94
53
  required_rubygems_version: !ruby/object:Gem::Requirement
95
54
  requirements:
96
55
  - - ">="
97
56
  - !ruby/object:Gem::Version
98
57
  version: '0'
99
58
  requirements: []
100
- rubygems_version: 3.2.27
59
+ rubygems_version: 3.4.21
101
60
  signing_key:
102
61
  specification_version: 4
103
62
  summary: Simple feature flags
data/.travis.yml DELETED
@@ -1,6 +0,0 @@
1
- ---
2
- language: ruby
3
- cache: bundler
4
- rvm:
5
- - 2.6.5
6
- before_install: gem install bundler -v 2.1.4