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 +4 -4
- data/.ci +143 -0
- data/CODEOWNERS +1 -1
- data/README.md +4 -0
- data/Rakefile +1 -1
- data/lib/tasks/package.rake +49 -0
- data/lib/yardi/document_parser/prospects.rb +2 -1
- data/lib/yardi/model/prospect.rb +6 -1
- data/lib/yardi/utils/test_data_fetcher.rb +2 -2
- data/lib/yardi/version.rb +1 -1
- data/yardi.gemspec +2 -2
- metadata +22 -20
- data/.circleci/config.yml +0 -29
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c5b62613b2c12de59311e03172a1c61718f2689baca65ed60eba0e89346f1e15
|
4
|
+
data.tar.gz: 272fe85a1e3d21d3a179793682ac13639977e4786567f3e84aaf7d315375d4df
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
* @
|
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
@@ -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
|
|
data/lib/yardi/model/prospect.rb
CHANGED
@@ -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 = '
|
8
|
-
GUESTCARD_ACTIVITY_PATH = '
|
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
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', '~>
|
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.
|
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-
|
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: '
|
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: '
|
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
|
-
- ".
|
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
|
-
|
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
|