rollout-ui 0.7.1 → 0.7.4

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: 6f52e6f2464930c297ee97dfa2e73771ef20dc1c345186582c4f211ddc16a9bc
4
- data.tar.gz: 72b761a78d4607396ee71860ff9d5f36fd57563fcba018e34ed374fc308dd3d0
3
+ metadata.gz: 1b77d43c42fd6d0bf55f0c82f2b657be128cdc4f659ce9ba3ca8aec362b3d518
4
+ data.tar.gz: f13d17d8f94679acc00aaf68fad4e80bb58f2da8d2f3680374c5b5c231497f4d
5
5
  SHA512:
6
- metadata.gz: c9a1eec0c0b71f92458be1f494a99098aa1a7d8bce482c47f45f90de8566dcc2643e97bf2f8bad90c209456dd459e8d462c4edae804e31fc6283bc2f14836f19
7
- data.tar.gz: c9e5d5ddaea0f7cb5302d67f7f4b3e709ee63b916a5a2aa7f2b7075af8a3034f2bfca0d00b7cb634082bb5319f03a727d688ab84109d431922edfb9122dee520
6
+ metadata.gz: 6c91539ecf6b82d09ae256ca0e3882ea2bd5c247be8b540607c9dd07786ea0349892b58f029967a9d2b3954231524fd361410e3a0c568f846ede38c96f9e1552
7
+ data.tar.gz: 027723401f76cf51ad03fd5544d58450527c35e53ea0130ae6f8ff9948634724531940c0dc39db52accb7535d18f5ccd2f9c3dd08d218b30c704694ce722b8b7
@@ -0,0 +1,46 @@
1
+ name: Release
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - 'v*'
7
+
8
+ jobs:
9
+ release:
10
+ runs-on: ubuntu-latest
11
+ services:
12
+ redis:
13
+ image: redis:7-alpine
14
+ ports:
15
+ - 6379:6379
16
+ options: >-
17
+ --health-cmd "redis-cli ping"
18
+ --health-interval 10s
19
+ --health-timeout 5s
20
+ --health-retries 5
21
+ steps:
22
+ - name: Checkout code
23
+ uses: actions/checkout@v4
24
+ - name: Setup Ruby
25
+ uses: ruby/setup-ruby@v1
26
+ with:
27
+ bundler-cache: true
28
+ - name: Run tests
29
+ run: bundle exec rspec
30
+ - name: Create GitHub Release
31
+ uses: softprops/action-gh-release@v2
32
+ with:
33
+ tag_name: ${{ github.ref }}
34
+ name: ${{ github.ref_name }}
35
+ generate_release_notes: true
36
+ draft: false
37
+ prerelease: false
38
+ - name: Set up RubyGems credentials
39
+ env:
40
+ RUBYGEMS_API_KEY: ${{ secrets.RUBYGEMS_API_KEY }}
41
+ run: |
42
+ mkdir -p ~/.gem
43
+ echo ":rubygems_api_key: $RUBYGEMS_API_KEY" > ~/.gem/credentials
44
+ chmod 0600 ~/.gem/credentials
45
+ - name: Release to RubyGems
46
+ run: bundle exec rake release
@@ -0,0 +1,32 @@
1
+ name: Test
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - master
7
+ pull_request:
8
+ branches:
9
+ - master
10
+
11
+ jobs:
12
+ test:
13
+ runs-on: ubuntu-latest
14
+ services:
15
+ redis:
16
+ image: redis:7-alpine
17
+ ports:
18
+ - 6379:6379
19
+ options: >-
20
+ --health-cmd "redis-cli ping"
21
+ --health-interval 10s
22
+ --health-timeout 5s
23
+ --health-retries 5
24
+ steps:
25
+ - name: Checkout code
26
+ uses: actions/checkout@v4
27
+ - name: Setup Ruby
28
+ uses: ruby/setup-ruby@v1
29
+ with:
30
+ bundler-cache: true
31
+ - name: Run tests
32
+ run: bundle exec rspec
data/README.md CHANGED
@@ -92,6 +92,8 @@ end
92
92
 
93
93
  Bug reports and pull requests are welcome on GitHub at https://github.com/fetlife/rollout-ui.
94
94
 
95
+ ### Development
96
+
95
97
  To run this project for development in isolation:
96
98
 
97
99
  ```sh
@@ -107,6 +109,14 @@ Alternatively you can also configure which Redis with:
107
109
  REDIS_HOST=localhost REDIS_PORT=6379 REDIS_DB=10 bundle exec rerun rackup
108
110
  ```
109
111
 
112
+ ### Releasing
113
+
114
+ 1. Bump version: `rake version:patch` (or `minor`/`major`)
115
+ 2. Commit and tag: `git commit -am "Bump version" && git tag v0.7.3`
116
+ 3. Push: `git push origin master --tags`
117
+
118
+ The GitHub Actions workflow will automatically publish to RubyGems when tags are pushed.
119
+
110
120
  ## License
111
121
 
112
122
  The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
data/Rakefile CHANGED
@@ -4,3 +4,45 @@ require "rspec/core/rake_task"
4
4
  RSpec::Core::RakeTask.new(:spec)
5
5
 
6
6
  task :default => :spec
7
+
8
+ namespace :version do
9
+ desc "Bump patch version"
10
+ task :patch do
11
+ bump_version(:patch)
12
+ end
13
+
14
+ desc "Bump minor version"
15
+ task :minor do
16
+ bump_version(:minor)
17
+ end
18
+
19
+ desc "Bump major version"
20
+ task :major do
21
+ bump_version(:major)
22
+ end
23
+ end
24
+
25
+ def bump_version(type)
26
+ require 'rollout/ui/version'
27
+ current_version = Rollout::UI::VERSION
28
+ major, minor, patch = current_version.split('.').map(&:to_i)
29
+
30
+ new_version = case type
31
+ when :major
32
+ "#{major + 1}.0.0"
33
+ when :minor
34
+ "#{major}.#{minor + 1}.0"
35
+ when :patch
36
+ "#{major}.#{minor}.#{patch + 1}"
37
+ end
38
+
39
+ puts "Bumping version from #{current_version} to #{new_version}"
40
+
41
+ # Update version file
42
+ version_file = 'lib/rollout/ui/version.rb'
43
+ content = File.read(version_file)
44
+ updated_content = content.gsub(/VERSION\s*=\s*"[^"]+"/, "VERSION = \"#{new_version}\"")
45
+ File.write(version_file, updated_content)
46
+
47
+ puts "Version bumped to #{new_version}"
48
+ end
@@ -1,5 +1,5 @@
1
1
  class Rollout
2
2
  module UI
3
- VERSION = "0.7.1"
3
+ VERSION = "0.7.4"
4
4
  end
5
5
  end
@@ -42,7 +42,11 @@ h2.font-semibold.text-xl.text-gray-500.pt-12.flex.items-center
42
42
  = feature.users.count
43
43
  - if @rollout.respond_to?(:logging)
44
44
  td.py-2.whitespace-no-wrap
45
- span title=@rollout.logging.updated_at(feature_name).strftime(Rollout::UI.config.timestamp_format) = time_ago(@rollout.logging.updated_at(feature_name))
45
+ - updated_at = @rollout.logging.updated_at(feature_name)
46
+ - if updated_at.nil?
47
+ span.text-gray-400 Never
48
+ - else
49
+ span title=updated_at.strftime(Rollout::UI.config.timestamp_format) = time_ago(updated_at)
46
50
  td.flex.items-center.py-2.justify-end.whitespace-no-wrap.pl-3
47
51
  form action=activate_percentage_feature_path(feature_name, 100) method='POST'
48
52
  button.p-3.bg-gray-100.ml-1.rounded-sm.font-bold.leading-none.transition-colors.duration-150(class='hover:bg-gray-200' type='submit' onclick="return confirm('Are you sure you want activate #{sanitized_name(feature_name)} to 100%?')")
data/rollout-ui.gemspec CHANGED
@@ -8,8 +8,8 @@ Gem::Specification.new do |spec|
8
8
  spec.authors = ['FetLife']
9
9
  spec.email = ['dev@fetlife.com']
10
10
 
11
- spec.summary = %q{}
12
- spec.description = %q{}
11
+ spec.summary = %q{Minimalist web ui for the rollout gem}
12
+ spec.description = %q{Rack-mountable app to use and configure feature flags via the rollout gem}
13
13
  spec.homepage = 'https://github.com/fetlife/rollout-ui'
14
14
  spec.license = 'MIT'
15
15
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rollout-ui
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.1
4
+ version: 0.7.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - FetLife
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-03-27 00:00:00.000000000 Z
11
+ date: 2025-08-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rollout
@@ -196,13 +196,16 @@ dependencies:
196
196
  - - ">="
197
197
  - !ruby/object:Gem::Version
198
198
  version: '0'
199
- description: ''
199
+ description: Rack-mountable app to use and configure feature flags via the rollout
200
+ gem
200
201
  email:
201
202
  - dev@fetlife.com
202
203
  executables: []
203
204
  extensions: []
204
205
  extra_rdoc_files: []
205
206
  files:
207
+ - ".github/workflows/release.yml"
208
+ - ".github/workflows/test.yml"
206
209
  - ".gitignore"
207
210
  - ".rspec"
208
211
  - ".ruby-version"
@@ -249,5 +252,5 @@ requirements: []
249
252
  rubygems_version: 3.5.3
250
253
  signing_key:
251
254
  specification_version: 4
252
- summary: ''
255
+ summary: Minimalist web ui for the rollout gem
253
256
  test_files: []