simple_flag 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
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