active_force 0.24.0 → 0.25.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: 0e6bf4ca3441ea8c1d0df00f6a8925f021fa53a3a0ce2e19beda69ecab4b5881
4
- data.tar.gz: 940b3627880eb3a67d8387c744246a8bb29cc816ccf828130dd375e1e33b1791
3
+ metadata.gz: 2717b024f19c2c0dbf7530d606797a5880dfe629a154e6eebd083da381b917b1
4
+ data.tar.gz: ab29915f960873acd523a12f73af63f8c13b200e8cddbe4465ef28038cdebf2e
5
5
  SHA512:
6
- metadata.gz: b7ab1dc49814c642b34b61391a2d8ab99fc2b0854f3113b5c4d5715a67ec681d3061fa2e3e53eea3ec9780525aeba3804c7043901b7652baa67113d2659bd8dc
7
- data.tar.gz: d69e76e37be28552a80a9a3e2872a48ff15e04df4178f5ce2b670426be23570a7ca11256e41ed757ba04fc20270bff875730d8aea2927eee7e0129124c5f994e
6
+ metadata.gz: dc4aa9e5110884da1008add3a996387d66af6c337328d56e773457fb24e61410a63d5bd3a734ab5bf79a44c4b5962a55aca1c00314af41d1275df663fa133f16
7
+ data.tar.gz: 6702930b7f9d47c2290c4e00300160f5e3261ed9c22834ab4bef55a8438f6ec778f97e51aab197b23d10b1d2b6c6d20dc3e2991b728a847529cf16e7121d6983
data/.circleci/config.yml CHANGED
@@ -1,4 +1,7 @@
1
- version: 2
1
+ version: 2.1
2
+
3
+ orbs:
4
+ codecov: codecov/codecov@4.0.1
2
5
 
3
6
  references:
4
7
  default_docker_ruby_executor: &default_docker_ruby_executor
@@ -51,49 +54,16 @@ jobs:
51
54
  key: active_force-{{ checksum "active_force.gemspec" }}
52
55
  paths:
53
56
  - ~/active_force/active_force_index/vendor/bundle
54
- - run:
55
- name: Install Code Climate Test Reporter
56
- command: |
57
- curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
58
- chmod +x ./cc-test-reporter
59
57
  - run:
60
58
  name: Run RSpec
61
59
  command: |
62
60
  mkdir /tmp/test-results
63
- ./cc-test-reporter before-build
64
61
  TESTFILES=$(circleci tests glob "spec/**/*_spec.rb" | circleci tests split --split-by=timings)
65
62
  bundle exec rspec $TESTFILES --profile 10 --format RspecJunitFormatter --out /tmp/test-results/rspec.xml --format progress
66
- - run:
67
- name: Code Climate Test Coverage
68
- command: |
69
- ./cc-test-reporter format-coverage -t simplecov -o "coverage/codeclimate.$CIRCLE_NODE_INDEX.json"
70
- - persist_to_workspace:
71
- root: coverage
72
- paths:
73
- - codeclimate.*.json
74
- - store_test_results:
75
- path: /tmp/test-results
76
- - store_artifacts:
77
- path: /tmp/test-results
78
- destination: test-results
63
+ - codecov/upload
79
64
  - store_artifacts:
80
65
  path: coverage
81
- upload-coverage:
82
- working_directory: ~/active_force/active_force_index
83
- docker:
84
- - *default_docker_ruby_executor
85
- steps:
86
- - attach_workspace:
87
- at: ~/active_force/active_force_index
88
- - run:
89
- name: Install Code Climate Test Reporter
90
- command: |
91
- curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
92
- chmod +x ./cc-test-reporter
93
- - run:
94
- name: Combine and Upload Coverage
95
- command: |
96
- ./cc-test-reporter sum-coverage --output - codeclimate.*.json | ./cc-test-reporter upload-coverage --debug --input -
66
+
97
67
  workflows:
98
68
  version: 2
99
69
  build_and_test:
@@ -102,6 +72,3 @@ workflows:
102
72
  - rspec-test:
103
73
  requires:
104
74
  - build
105
- - upload-coverage:
106
- requires:
107
- - rspec-test
data/.travis.yml CHANGED
@@ -9,8 +9,6 @@ matrix:
9
9
  - rvm:
10
10
  - rbx-2
11
11
  fast_finish: true
12
- env:
13
- - CODECLIMATE_REPO_TOKEN=1c5ed259429e0bfc5412974d69cfba2780962a87ca8c543d684e33fea37f7e71
14
12
  notifications:
15
13
  webhooks:
16
14
  urls:
data/CHANGELOG.md CHANGED
@@ -2,6 +2,9 @@
2
2
 
3
3
  ## Not released
4
4
 
5
+ ## 0.25.0
6
+ - Add support for Rails 8.x (https://github.com/Beyond-Finance/active_force/pull/108)
7
+
5
8
  ## 0.24.0
6
9
  - Add support for nested select statements that are used in conjuction with nested includes (https://github.com/Beyond-Finance/active_force/pull/102)
7
10
 
data/LICENSE.txt CHANGED
@@ -1,3 +1,11 @@
1
+ [Copyright © 2024 Beyond Finance, LLC.]
2
+
3
+ This library is available as open source under the terms of the
4
+ MIT License (https://opensource.org/license/mit). This library is
5
+ based on the open source code library "https://github.com/heroku/active_force" which was in turn forked from
6
+ "https://github.com/ionia-corporation/active_force" and licensed
7
+ under the MIT License.
8
+
1
9
  Copyright (c) 2013 Eloy Espinaco
2
10
 
3
11
  MIT License
data/active_force.gemspec CHANGED
@@ -25,12 +25,13 @@ Gem::Specification.new do |spec|
25
25
 
26
26
  spec.required_ruby_version = '>= 1.9.3'
27
27
 
28
- spec.add_dependency 'activemodel', '~> 7.0'
29
- spec.add_dependency 'activesupport', '~> 7.0'
28
+ spec.add_dependency 'activemodel', '>= 7.0'
29
+ spec.add_dependency 'activesupport', '>= 7.0'
30
30
  spec.add_dependency 'restforce', '>= 5'
31
31
  spec.add_development_dependency 'rake', '>= 0'
32
32
  spec.add_development_dependency 'rspec', '>= 0'
33
33
  spec.add_development_dependency 'rspec_junit_formatter'
34
34
  spec.add_development_dependency 'pry', '>= 0'
35
- spec.add_development_dependency 'simplecov', '>= 0'
35
+ spec.add_development_dependency 'simplecov'
36
+ spec.add_development_dependency 'simplecov-cobertura'
36
37
  end
@@ -26,14 +26,15 @@ module ActiveForce
26
26
 
27
27
  define_model_callbacks :build, :create, :update, :save, :destroy
28
28
 
29
- class_attribute :mappings, :table_name
29
+ class_attribute :mappings, :table_name_store
30
30
 
31
31
  attr_accessor :id, :title
32
32
 
33
33
  class << self
34
34
  extend Forwardable
35
35
  def_delegators :query, :not, :or, :where, :first, :last, :all, :find, :find!, :find_by, :find_by!, :sum, :count, :includes, :limit, :order, :select, :none
36
- def_delegators :mapping, :table, :table_name, :custom_table?, :mappings
36
+ def_delegators :mapping, :table, :custom_table?, :mappings
37
+ alias_method :table_name=, :table_name_store=
37
38
 
38
39
  def update(id, attributes)
39
40
  prepare_for_update(id, attributes).update
@@ -43,6 +44,10 @@ module ActiveForce
43
44
  prepare_for_update(id, attributes).update!
44
45
  end
45
46
 
47
+ def table_name
48
+ table_name_store || mapping.table_name
49
+ end
50
+
46
51
  private
47
52
 
48
53
  def prepare_for_update(id, attributes)
@@ -65,6 +70,10 @@ module ActiveForce
65
70
  @mapping ||= ActiveForce::Mapping.new name
66
71
  end
67
72
 
73
+ def table_name
74
+ table_name_store || self.class.mapping.table_name
75
+ end
76
+
68
77
  def self.fields
69
78
  mapping.sfdc_names
70
79
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ActiveForce
4
- VERSION = '0.24.0'
4
+ VERSION = '0.25.0'
5
5
  end
@@ -375,6 +375,20 @@ describe ActiveForce::SObject do
375
375
  end
376
376
  end
377
377
 
378
+ describe '.table_name' do
379
+
380
+ context 'when no explicit table name is set' do
381
+ it 'derives the table name from the class name' do
382
+ expect(Whizbang.table_name).to eq('Whizbang__c')
383
+ end
384
+ end
385
+ context 'when explicit table name is set' do
386
+ it 'returns the explicit table name' do
387
+ expect(Whizbang2.table_name).to eq('Whiz_bang2__c')
388
+ end
389
+ end
390
+ end
391
+
378
392
  describe '.sum' do
379
393
  let(:response) { [Restforce::Mash.new(expr0: 22)] }
380
394
 
data/spec/spec_helper.rb CHANGED
@@ -1,7 +1,10 @@
1
1
  require 'simplecov'
2
+ require 'simplecov-cobertura'
2
3
  SimpleCov.start do
3
4
  add_filter '/vendor'
4
5
  add_filter '/spec'
6
+
7
+ formatter SimpleCov::Formatter::CoberturaFormatter
5
8
  end
6
9
 
7
10
  $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
@@ -28,3 +28,7 @@ class Whizbang < ActiveForce::SObject
28
28
  end
29
29
 
30
30
  end
31
+
32
+ class Whizbang2 < Whizbang
33
+ self.table_name = 'Whiz_bang2__c'
34
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_force
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.24.0
4
+ version: 0.25.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eloy Espinaco
@@ -11,34 +11,34 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2024-10-01 00:00:00.000000000 Z
14
+ date: 2025-08-07 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: activemodel
18
18
  requirement: !ruby/object:Gem::Requirement
19
19
  requirements:
20
- - - "~>"
20
+ - - ">="
21
21
  - !ruby/object:Gem::Version
22
22
  version: '7.0'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
- - - "~>"
27
+ - - ">="
28
28
  - !ruby/object:Gem::Version
29
29
  version: '7.0'
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: activesupport
32
32
  requirement: !ruby/object:Gem::Requirement
33
33
  requirements:
34
- - - "~>"
34
+ - - ">="
35
35
  - !ruby/object:Gem::Version
36
36
  version: '7.0'
37
37
  type: :runtime
38
38
  prerelease: false
39
39
  version_requirements: !ruby/object:Gem::Requirement
40
40
  requirements:
41
- - - "~>"
41
+ - - ">="
42
42
  - !ruby/object:Gem::Version
43
43
  version: '7.0'
44
44
  - !ruby/object:Gem::Dependency
@@ -125,6 +125,20 @@ dependencies:
125
125
  - - ">="
126
126
  - !ruby/object:Gem::Version
127
127
  version: '0'
128
+ - !ruby/object:Gem::Dependency
129
+ name: simplecov-cobertura
130
+ requirement: !ruby/object:Gem::Requirement
131
+ requirements:
132
+ - - ">="
133
+ - !ruby/object:Gem::Version
134
+ version: '0'
135
+ type: :development
136
+ prerelease: false
137
+ version_requirements: !ruby/object:Gem::Requirement
138
+ requirements:
139
+ - - ">="
140
+ - !ruby/object:Gem::Version
141
+ version: '0'
128
142
  description: Use SalesForce as an ActiveModel
129
143
  email: eloyesp@gmail.com
130
144
  executables: []
@@ -134,7 +148,6 @@ files:
134
148
  - ".circleci/config.yml"
135
149
  - ".github/ISSUE_TEMPLATE/bug_report.md"
136
150
  - ".github/ISSUE_TEMPLATE/feature_request.md"
137
- - ".github/workflows"
138
151
  - ".gitignore"
139
152
  - ".mailmap"
140
153
  - ".rspec"
data/.github/workflows DELETED
@@ -1,51 +0,0 @@
1
- on:
2
- pull_request:
3
- types: [opened, reopened, synchronize]
4
- pull_request_review_comment:
5
- types: [created, edited, deleted]
6
-
7
- name: Metomic Scan
8
-
9
- jobs:
10
- scan-secrets:
11
- name: Scan For Secrets
12
- runs-on: ubuntu-latest
13
- steps:
14
- - name: checkout-repo
15
- uses: actions/checkout@v3
16
- with:
17
- ref: ${{ github.event.pull_request.head.sha }}
18
-
19
- - name: authenticate-with-metomic
20
- id: authenticate
21
- continue-on-error: ${{ vars.METOMIC_FAIL_ON_CONNECTION_ERROR != 'TRUE' }}
22
- run: |
23
- curl -s --location --request GET '${{ vars.METOMIC_INTEGRATION_ENDPOINT }}/token' --header 'X-API-Key: ${{ secrets.METOMIC_API_TOKEN }}' -o .metomic_token.json
24
- echo METOMIC_ACCESS_TOKEN=$(cat .metomic_token.json | jq -r -c '.accessToken') >> $GITHUB_OUTPUT
25
- PASS=$(cat .metomic_token.json | jq -r -c '.accessToken // empty')
26
- if [ -z "$PASS" ]; then
27
- cat .metomic_token.json
28
- echo ""
29
- echo "FAIL: failed to fetch auth token from Metomic. Ensure required organisation variables / secrets are set correctly. METOMIC_INTEGRATION_ENDPOINT, METOMIC_API_TOKEN"
30
- echo "The correct values for these variables are available from the installations page of the Metomic dashboard"
31
- exit 1
32
- fi
33
-
34
- - name: checkout-metomic-action
35
- id: checkout
36
- uses: actions/checkout@v3
37
- if: ${{ steps.authenticate.outcome == 'success' }}
38
- continue-on-error: ${{ vars.METOMIC_FAIL_ON_CONNECTION_ERROR != 'TRUE' }}
39
- with:
40
- repository: metomic/metomic-github-integration-action.git
41
- path: "./.metomic"
42
- ref: "main"
43
- token: ${{ steps.authenticate.outputs.METOMIC_ACCESS_TOKEN }}
44
-
45
- - name: scan
46
- uses: ./.metomic/.github/actions/scan-secrets
47
- if: ${{ steps.authenticate.outputs.METOMIC_ACCESS_TOKEN && steps.checkout.outcome == 'success' }}
48
- with:
49
- metomic_endpoint: ${{ vars.METOMIC_INTEGRATION_ENDPOINT }}
50
- metomic_api_token: ${{ secrets.METOMIC_API_TOKEN }}
51
- head_ref: ${{ github.event.pull_request.head.sha }}