yardi 4.11.1 → 4.11.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: d4974d4109a75599d2e3cc9d9b1813b702e1c8ffed2f1ab89400a30a858b9fdd
4
- data.tar.gz: 9b0db3617869407c492ad457564e7d881089754d40963b5fabc175eae0786045
3
+ metadata.gz: c5b62613b2c12de59311e03172a1c61718f2689baca65ed60eba0e89346f1e15
4
+ data.tar.gz: 272fe85a1e3d21d3a179793682ac13639977e4786567f3e84aaf7d315375d4df
5
5
  SHA512:
6
- metadata.gz: 8c72bbfbd3a738fe06588d4705b13d1c747537849cba99a463286ae9bf6195a1d26fa3c59e644187b2f157c08da135c6bb7b62587d81335c9de05160d5c3506c
7
- data.tar.gz: 46ef2d3b5dbaef90429fe1ab4b2b81cc00e03101304b6b6fe73240c765d94815e7b43332272bc5f67e333cac4dd7c7e2f2e32539adbfd0162ba6957ec2a6d7a9
6
+ metadata.gz: d0a7d21f00cc58e6899b055a47c4396449e49f9796faca899e2dc9e0b043f28afbe5904dd2d95b3422e44bd9b373c5952e4cbf2e3b790c99985a55c680ae81c7
7
+ data.tar.gz: bc59c2c57d43c8a7c3cb419a3c46c3dd87d2ab2297fa87c93362e62b9aee2cb70f1414eab076c8581a007205b573e72f3bd2d43fab9b85fed31c006fcdf2d65d
data/.ci ADDED
@@ -0,0 +1,143 @@
1
+ #!/usr/bin/env groovy
2
+
3
+ // https://github.com/apartmentlist/ci-shared-library
4
+ @Library('ci-shared-library')_
5
+
6
+ // Log Rotation
7
+ properties([
8
+ buildDiscarder(
9
+ logRotator(
10
+ artifactDaysToKeepStr: '',
11
+ artifactNumToKeepStr: '',
12
+ daysToKeepStr: '30',
13
+ numToKeepStr: '100'
14
+ )
15
+ )
16
+ ]) //properties
17
+
18
+ // Generate unique slave labels
19
+ def k8s_label = "${UUID.randomUUID().toString()}"
20
+
21
+ pipeline {
22
+ environment {
23
+ APP_NAME = 'yardi'
24
+ APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE = 'true'
25
+ CI = 'true'
26
+ CLOUDSDK_CORE_DISABLE_PROMPTS = '1'
27
+ GIT_COMMIT_SHORT = sh(script: "git rev-parse --short ${GIT_COMMIT}", returnStdout: true).trim()
28
+ GIT_MESSAGE = sh(script: "git log --format=%B -n 1 ${GIT_COMMIT}", returnStdout: true).trim()
29
+ GIT_USER = sh(script: "git log -1 --pretty=format:'%ae'", returnStdout: true).trim()
30
+ GITHUB_URL = "https://github.com"
31
+ LANG = "en_US.UTF-8"
32
+ LANGUAGE = "en_US:en"
33
+ LC_ALL = "en_US.UTF-8"
34
+ PRODUCTION_DEPLOY="false"
35
+ SLACK_CHANNEL = "#releases"
36
+ } // environment
37
+
38
+ agent {
39
+ kubernetes {
40
+ label k8s_label
41
+ defaultContainer 'jnlp'
42
+ yaml """
43
+ ---
44
+ apiVersion: v1
45
+ kind: Pod
46
+ metadata:
47
+ name: test
48
+ spec:
49
+ restartPolicy: Never
50
+ containers:
51
+ - name: ruby
52
+ image: gcr.io/alist-development/ruby:2.7.5
53
+ imagePullPolicy: Always
54
+ resources:
55
+ requests:
56
+ memory: "1024Mi"
57
+ cpu: "1"
58
+ requests:
59
+ memory: "1024Mi"
60
+ cpu: "1"
61
+ command:
62
+ - "tail"
63
+ - "-f"
64
+ - "/dev/null"
65
+ """
66
+ } // kubernetes
67
+ } // agent
68
+
69
+ options {
70
+ timestamps()
71
+ timeout(time: 10, unit: 'MINUTES')
72
+ ansiColor('xterm')
73
+ } // options
74
+
75
+ stages {
76
+ stage('Preparation') {
77
+ parallel {
78
+ stage('Slack') {
79
+ steps {
80
+ slackPreparation()
81
+ } // steps
82
+ } // stage - Slack
83
+ stage('Build Description') {
84
+ steps {
85
+ buildDescription()
86
+ }
87
+ }
88
+ stage('Bundle') {
89
+ steps {
90
+ container('ruby') {
91
+ sh 'gem install bundler:2.2.6 --no-post-install-message --no-document'
92
+ sh 'bundle install -j 12'
93
+ } // container
94
+ } // steps
95
+ } // stage - Bundle
96
+ } //parallel
97
+ } //stage - Preparation
98
+
99
+ stage('Testing') {
100
+ when {
101
+ allOf {
102
+ changeRequest target: 'main'
103
+ }
104
+ }
105
+
106
+ parallel {
107
+ stage('Run RSpec') {
108
+ steps {
109
+ container('ruby') {
110
+ sh label: 'RSpec', script: 'bundle exec rake'
111
+ } // container
112
+ } // steps
113
+ } // stage
114
+ } //parallel
115
+ } //stage
116
+
117
+ stage("Publish") {
118
+ when {
119
+ allOf {
120
+ branch "main"
121
+ not { changeRequest() }
122
+ }
123
+ } // when
124
+ parallel {
125
+ stage("to Github packages") {
126
+ steps {
127
+ publishRubyGemToGHP("ruby")
128
+ }
129
+ } // stage - to Github packages
130
+ } // parallel
131
+ } // stage - Publish
132
+ } // stages
133
+
134
+ post {
135
+ success {
136
+ success('alist-production')
137
+ } // success
138
+ aborted {
139
+ aborted('alist-production')
140
+ } // aborted
141
+ } // post
142
+
143
+ } // pipeline
data/CODEOWNERS CHANGED
@@ -1 +1 @@
1
- * @heidi
1
+ * @apartmentlist/integrations
data/README.md CHANGED
@@ -191,6 +191,10 @@ If you are interested in contributing to this project, please review the
191
191
 
192
192
  ## Versions
193
193
 
194
+ - 5.0.3 Bumping activesupport runtime_dependency to 6.0.5 due to vulnerability.
195
+ - 5.0.2 No functional changes. Updating build pipeline to publish to GitHub Packages.
196
+ - 5.0.1 Add remote_property_id to prospects
197
+ - 5.0.0 Make Yardi gem compatible with Rails 6
194
198
  - 4.10.3 Patch for NilClass when building prospect
195
199
  - 4.10.2 Patch for send_prospect_events in validator
196
200
  - 4.10.1 Patch for send_prospect_events default value
data/Rakefile CHANGED
@@ -1,7 +1,7 @@
1
1
  require 'bundler/gem_tasks'
2
-
3
2
  require 'rspec/core/rake_task'
4
3
 
5
4
  RSpec::Core::RakeTask.new(:spec)
5
+ Rake.add_rakelib('./lib/tasks')
6
6
 
7
7
  task default: :spec
@@ -0,0 +1,49 @@
1
+ REPO_NAME = 'yardi'
2
+ MODULE_NAME = 'yardi'
3
+
4
+ def adjust_module_name(str)
5
+ str
6
+ end
7
+
8
+ namespace :package do
9
+ require 'open3'
10
+ require 'pathname'
11
+ require 'active_support'
12
+ require_relative "../#{MODULE_NAME}/version"
13
+
14
+ repo_version = ActiveSupport::Inflector.constantize(
15
+ "#{adjust_module_name(ActiveSupport::Inflector.classify(MODULE_NAME))}::VERSION"
16
+ )
17
+ root_dir = Pathname.new(File.join(__dir__, '..', '..')).expand_path
18
+ output_filename = "pkg/#{REPO_NAME}-#{repo_version}.gem"
19
+
20
+ desc 'Check a credential file for rubygem publishing'
21
+ task :check_cred do
22
+ path_cred = File.join(Dir.home, '.gem', 'credentials')
23
+ raise "Credential file not found: #{path_cred}" unless File.exists?(path_cred)
24
+
25
+ perm_cred = File.stat(path_cred).mode.to_s(8).split("")[-4..-1].join.to_s
26
+ raise "File permission for credential should be 0600. Get #{perm_cred}" if perm_cred != '0600'
27
+
28
+ puts 'Credential looks good'
29
+ end
30
+
31
+ desc 'Publish this package to github'
32
+ task :publish_github do
33
+ Rake::Task['package:check_cred'].invoke
34
+ Rake::Task['build'].invoke
35
+
36
+ stdout, stderr, status = Open3.capture3(
37
+ "gem push --key github --host https://rubygems.pkg.github.com/apartmentlist #{output_filename}",
38
+ { chdir: root_dir }
39
+ )
40
+ unless status.success?
41
+ puts "OUT: #{stdout}"
42
+ puts "ERR: #{stderr}"
43
+ raise 'Failed to publish gem'
44
+ end
45
+
46
+ puts stdout
47
+ puts "#{output_filename} is now published at GitHub. Checkout https://github.com/apartmentlist/#{REPO_NAME}/packages/"
48
+ end
49
+ end
@@ -40,7 +40,8 @@ module Yardi
40
40
  phones: Utils::PhoneParser.parse(customer['Phone']),
41
41
  events: build_events(events),
42
42
  prospect_id: remote_id(customer, 'ProspectID'),
43
- tenant_id: remote_id(customer, 'TenantID')
43
+ tenant_id: remote_id(customer, 'TenantID'),
44
+ remote_property_id: remote_id(customer, 'PropertyID')
44
45
  )
45
46
  end
46
47
 
@@ -27,6 +27,9 @@ module Yardi
27
27
  # The tenant id from Yardi's database e.g. "t000456"
28
28
  attr_reader :tenant_id
29
29
 
30
+ # The property id from Yardi's database e.g. "052"
31
+ attr_reader :remote_property_id
32
+
30
33
  def initialize(
31
34
  first_name:,
32
35
  last_name:,
@@ -34,7 +37,8 @@ module Yardi
34
37
  phones:,
35
38
  events:,
36
39
  prospect_id:,
37
- tenant_id:
40
+ tenant_id:,
41
+ remote_property_id:
38
42
  )
39
43
  @first_name = first_name
40
44
  @last_name = last_name
@@ -43,6 +47,7 @@ module Yardi
43
47
  @events = events
44
48
  @prospect_id = prospect_id
45
49
  @tenant_id = tenant_id
50
+ @remote_property_id = remote_property_id
46
51
  end
47
52
  end
48
53
  end
@@ -4,8 +4,8 @@ require 'yardi/utils/google_cloud_storage'
4
4
  module Yardi
5
5
  module Utils
6
6
  class TestDataFetcher
7
- RESIDENTS_PATH = 'test-data/residents/'
8
- GUESTCARD_ACTIVITY_PATH = 'test-data/yardi_prospects/'
7
+ RESIDENTS_PATH = 'test_data/residents/'
8
+ GUESTCARD_ACTIVITY_PATH = 'test_data/yardi_prospects/'
9
9
  def self.residents(property_id)
10
10
  GoogleCloudStorage.read_file(file_path: RESIDENTS_PATH + "#{property_id}.xml")
11
11
  end
data/lib/yardi/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen-string-literal: true
2
2
 
3
3
  module Yardi
4
- VERSION = '4.11.1'
4
+ VERSION = '4.11.4'
5
5
  end
data/yardi.gemspec CHANGED
@@ -17,13 +17,13 @@ Gem::Specification.new do |spec|
17
17
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
18
18
  spec.require_paths = ['lib']
19
19
 
20
+ spec.add_runtime_dependency 'activesupport', '~> 5.2'
20
21
  spec.add_runtime_dependency 'faraday', '~> 0.9'
21
22
  spec.add_runtime_dependency 'multi_xml', '~> 0.5' # Parse XML responses
22
23
  spec.add_runtime_dependency 'nokogiri', '~> 1.6' # Build XML for requests
23
24
  spec.add_runtime_dependency 'ox', '~> 2.3' # Parser we want with MultiXML
24
- spec.add_runtime_dependency 'activesupport', '~> 5.2'
25
25
 
26
- spec.add_development_dependency 'bundler', '~> 1.10'
26
+ spec.add_development_dependency 'bundler', '~> 2.2'
27
27
  spec.add_development_dependency 'pry-byebug', '~> 3.4'
28
28
  spec.add_development_dependency 'rake', '~> 11.2'
29
29
  spec.add_development_dependency 'rspec', '~> 3.4'
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yardi
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.11.1
4
+ version: 4.11.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Heidi Galbraith
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-05-11 00:00:00.000000000 Z
11
+ date: 2022-08-25 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activesupport
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '5.2'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '5.2'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: faraday
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -66,34 +80,20 @@ dependencies:
66
80
  - - "~>"
67
81
  - !ruby/object:Gem::Version
68
82
  version: '2.3'
69
- - !ruby/object:Gem::Dependency
70
- name: activesupport
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: '5.2'
76
- type: :runtime
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
81
- - !ruby/object:Gem::Version
82
- version: '5.2'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: bundler
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '1.10'
89
+ version: '2.2'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '1.10'
96
+ version: '2.2'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: pry-byebug
99
99
  requirement: !ruby/object:Gem::Requirement
@@ -213,7 +213,7 @@ executables: []
213
213
  extensions: []
214
214
  extra_rdoc_files: []
215
215
  files:
216
- - ".circleci/config.yml"
216
+ - ".ci"
217
217
  - ".gitignore"
218
218
  - ".rspec"
219
219
  - ".rubocop.yml"
@@ -227,6 +227,7 @@ files:
227
227
  - config/multi_xml.rb
228
228
  - docs/contributing.md
229
229
  - docs/getting_started.md
230
+ - lib/tasks/package.rake
230
231
  - lib/yardi.rb
231
232
  - lib/yardi/document_parser.rb
232
233
  - lib/yardi/document_parser/base.rb
@@ -305,7 +306,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
305
306
  - !ruby/object:Gem::Version
306
307
  version: '0'
307
308
  requirements: []
308
- rubygems_version: 3.0.1
309
+ rubyforge_project:
310
+ rubygems_version: 2.7.6.2
309
311
  signing_key:
310
312
  specification_version: 4
311
313
  summary: A ruby client for v4 of Yardi's API
data/.circleci/config.yml DELETED
@@ -1,29 +0,0 @@
1
- version: 2.1
2
-
3
- jobs:
4
- test:
5
- docker:
6
- - image: circleci/ruby:2.4.5
7
- environment:
8
- PG_USER: circleci
9
-
10
- working_directory: ~/yardi
11
-
12
- steps:
13
- - checkout
14
- - restore_cache:
15
- key: dependency-cache-{{ checksum "Gemfile" }}
16
- - run:
17
- command: bundle install
18
- - run:
19
- command: bundle exec rake
20
- - save_cache:
21
- key: dependency-cache-{{ checksum "Gemfile" }}
22
- paths:
23
- - /usr/local/bundle/cache
24
-
25
- workflows:
26
- version: 2.1
27
- testing:
28
- jobs:
29
- - test