worker_plugins 0.0.9 → 0.0.11

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: af3f79b1953081fc07f554cd79338d55ffd761b4ec27783f5129089caca039f3
4
- data.tar.gz: 6f5db87522e726efd317b146b1c2ea106335a0528a3d3466280dc98fae05f7fb
3
+ metadata.gz: 60d562f95a7e106a56e44fc6a391390d09611fb54763f982f799e068eb35c635
4
+ data.tar.gz: c5092384cc830ad87f0c1173001507e1deb84011f923b1e4133ed418b75df5b5
5
5
  SHA512:
6
- metadata.gz: b4921cc75b9cf8c012257840ce1dcca05b8abb9e20c34054b367021c15783bc5b6bf9f49535ae829e3b27c37853f61c90bd6921736f333cec1c91ea05a82c4ad
7
- data.tar.gz: 949a960c7499c29b97a8cf8c42172510c3813f5020e457e0dcf11247e7fae836880e9226744ac226a9e02f164c24517f53941cafb817205674feb2f8c9302e72
6
+ metadata.gz: ef290cb5584a36e590203d5e6b46ec8a6c2427170c028f5a0c7444319381d462de3aaf54d8226e02875c1951991c3b3b3e9d1fb7d82d800bbb5b1ac51b774d92
7
+ data.tar.gz: bc35ab922d0d328f9ea00fd90318936bf19c61363891c042743e3767f3a1b2af894d17f0067258e7bfbda933b3fc91997025a3397bd40724502f638b96d66d82
data/README.md CHANGED
@@ -27,6 +27,24 @@ Optimally loop over resources on a workspace:
27
27
  workspace.each_resource(types: ['User']) do |user|
28
28
  ```
29
29
 
30
+ ## Release
31
+
32
+ Run the release task from a clean worktree:
33
+
34
+ ```bash
35
+ bundle exec rake release:patch
36
+ ```
37
+
38
+ The task checks out `master`, fetches and fast-forwards from `origin/master`, bumps `lib/worker_plugins/version.rb`, commits and pushes the release commit, runs `npm login` if `npm whoami` shows no active session, then builds and pushes the gem to RubyGems and removes the generated `.gem` file afterward.
39
+
40
+ Use `BUMP=minor`, `BUMP=major`, or `VERSION=x.y.z` to control the version bump:
41
+
42
+ ```bash
43
+ bundle exec rake release:minor
44
+ bundle exec rake release:major
45
+ bundle exec rake release:rubygems VERSION=0.1.0
46
+ ```
47
+
30
48
  ## License
31
49
 
32
50
  This project rocks and uses MIT-LICENSE.
data/Rakefile CHANGED
@@ -24,3 +24,4 @@ APP_RAKEFILE = File.expand_path("spec/dummy/Rakefile", __dir__)
24
24
  load "rails/tasks/engine.rake"
25
25
 
26
26
  Bundler::GemHelper.install_tasks
27
+ import "tasks/release.rake"
@@ -30,4 +30,10 @@ class WorkerPlugins::ApplicationService < ServicePattern::Service
30
30
  def sqlite?
31
31
  ActiveRecord::Base.connection.instance_values["config"][:adapter].downcase.include?("sqlite")
32
32
  end
33
+
34
+ def mysql?
35
+ adapter_name = ActiveRecord::Base.connection.instance_values["config"][:adapter].downcase
36
+
37
+ adapter_name.include?("mysql") || adapter_name.include?("trilogy")
38
+ end
33
39
  end
@@ -4,14 +4,12 @@ class WorkerPlugins::SelectColumnWithTypeCast < WorkerPlugins::ApplicationServic
4
4
  def perform
5
5
  return succeed! query.select(column_name_to_select) if same_type?
6
6
 
7
- if column_to_compare_with.type == :string
8
- succeed! query_with_varchar
9
- elsif column_to_compare_with.type == :integer
7
+ if column_to_compare_with.type == :integer
10
8
  succeed! query_with_integer
9
+ elsif column_to_compare_with.type == :uuid
10
+ succeed! query_with_uuid
11
11
  else
12
- raise "Cant handle type cast between types: " \
13
- "#{model_class.table_name}.#{column_name_to_select} (#{column_to_select.type}) " \
14
- "#{column_to_compare_with.name} (#{column_to_compare_with.type})"
12
+ succeed! query_with_varchar
15
13
  end
16
14
  end
17
15
 
@@ -24,11 +22,27 @@ class WorkerPlugins::SelectColumnWithTypeCast < WorkerPlugins::ApplicationServic
24
22
  end
25
23
 
26
24
  def query_with_integer
27
- query.select("CAST(#{model_class.table_name}.#{column_name_to_select} AS BIGINT)")
25
+ if mysql?
26
+ query.select("CAST(#{model_class.table_name}.#{column_name_to_select} AS SIGNED)")
27
+ else
28
+ query.select("CAST(#{model_class.table_name}.#{column_name_to_select} AS BIGINT)")
29
+ end
28
30
  end
29
31
 
30
32
  def query_with_varchar
31
- query.select("CAST(#{model_class.table_name}.#{column_name_to_select} AS VARCHAR)")
33
+ if mysql?
34
+ query.select("CAST(#{model_class.table_name}.#{column_name_to_select} AS CHAR)")
35
+ else
36
+ query.select("CAST(#{model_class.table_name}.#{column_name_to_select} AS VARCHAR)")
37
+ end
38
+ end
39
+
40
+ def query_with_uuid
41
+ if postgres?
42
+ query.select("CAST(#{model_class.table_name}.#{column_name_to_select} AS UUID)")
43
+ else
44
+ query_with_varchar
45
+ end
32
46
  end
33
47
 
34
48
  def same_type?
@@ -1,3 +1,3 @@
1
1
  module WorkerPlugins
2
- VERSION = "0.0.9".freeze
2
+ VERSION = "0.0.11".freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: worker_plugins
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.0.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kasper Stöckel