luma 0.0.2 → 0.0.6

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: 9b6c41b33c30376d3547ffc627ff104117b7fc7de37065b8b37a64fdcd2e06a2
4
- data.tar.gz: 2c1c28940256c86f2183b60b6687e24c55145e6dc07ac65993004264ab4ab59c
3
+ metadata.gz: 7376e18f5c6bd2d23586d170c298281394d7e8e2d6936923f903f9fe2e6d9cd7
4
+ data.tar.gz: 95eb1b2a96bf03bfe142b557ed1a4369034c741d0dd6d4ce16bd6cf787efbd4e
5
5
  SHA512:
6
- metadata.gz: ec9bd186cb7e88d500950a3ad83cf7cebd142501d8d2fc7f9152fb30c14c75d6c12e24a7f23a8d29f6d930db65569c657c26ab01eea3ee2ce36c1ac9d41c2f6e
7
- data.tar.gz: b5d8502b97b32c0be12872ca6fa2b91097a2f42e13e64928f443865d4056d95421f019083e554796c22ee2823e87101bc959b97507e044b1a41ad47480d582a4
6
+ metadata.gz: 597ae8ee7d3bf4357d2d48afead8ab99e574b0f0e21dbf89e4277317d0570701d73f97d1c4a93c059d6497d1ccdb48558c185223d52cd88189c17a56c883fd79
7
+ data.tar.gz: e525ef5b468fa3e548a07db9886cf24107863b2b117d8741792a1988f7a9921c8749d64a4dd612454431ea0456ce214f4ead0bca12e22f4b01a5e096126a4391
data/CHANGELOG.md CHANGED
@@ -1,4 +1,50 @@
1
+ # Changelog
2
+ All notable changes to this project will be documented in this file.
3
+
4
+ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
5
+ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
6
+
7
+ ## [0.0.6] - 2021-10-15
8
+
9
+ ### Changed
10
+
11
+ - Adjust provider to accept body parameter
12
+
13
+ ## [0.0.5] - 2021-10-14
14
+
15
+ ### Changed
16
+
17
+ - Return HTTParty response when creating facility, appointment type, provider
18
+
19
+ ## [0.0.4] - 2021-09-7
20
+
21
+ ### Added
22
+
23
+ - Added API Access for creating a facility (POST)
24
+
25
+ ## [0.0.3] - 2021-08-30
26
+
27
+ ### Changed
28
+
29
+ - Models to have better inheritance and DRYer code
30
+
31
+ ### Added
32
+
33
+ - Added API access for creating a provider (POST)
34
+
35
+ ## [0.0.2] - 2021-08-26
36
+
37
+ ### Added
38
+
39
+ - Added API access for creating and finding appointment types (GET and POST)
40
+
1
41
  ## [0.0.1] - 2021-05-28
42
+
2
43
  - Initial Create
3
44
 
4
- [0.1.1]: https://github.com/WeInfuse/luma/compare/0.1.0...0.1.1
45
+ [0.0.6]: https://github.com/WeInfuse/luma/compare/v0.0.5...v0.0.6
46
+ [0.0.5]: https://github.com/WeInfuse/luma/compare/v0.0.4...v0.0.5
47
+ [0.0.4]: https://github.com/WeInfuse/luma/compare/v0.0.3...v0.0.4
48
+ [0.0.3]: https://github.com/WeInfuse/luma/compare/v0.0.2...v0.0.3
49
+ [0.0.2]: https://github.com/WeInfuse/luma/compare/v0.0.1...v0.0.2
50
+ [0.0.1]: https://github.com/WeInfuse/luma/compare/4626a358638...v0.0.1
data/README.md CHANGED
@@ -29,8 +29,48 @@ Luma.configure do |c|
29
29
  end
30
30
  ```
31
31
 
32
+ ### Create Appointment Type
33
+ ```ruby
34
+ body = { "name": "Infusion", "description": "Infusion" }
35
+ Luma::AppointmentType.new.create_appointment_type(body: body)
36
+ ```
37
+
38
+ ### Create Facility
39
+ ```ruby
40
+ body = {
41
+ name: "Facility Test Deb 1",
42
+ phone: "5121111111",
43
+ address: "101 Bob Avenue",
44
+ state: "Texas",
45
+ city: "Austin",
46
+ postcode: 78705
47
+ }
48
+
49
+ Luma::Facilities.new.create_facility(body: body)
50
+ ```
51
+
52
+ ### Create Provider
53
+ ```ruby
54
+ body = { "name": "Billy Bob 2", "npi": 1234567891 }
55
+ Luma::Provider.new.create_provider(body: body)
56
+ ```
57
+
32
58
  ## Development
33
59
 
34
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
60
+ ### Prep
61
+ After checking out the repo, run `bin/setup` to install dependencies.
62
+
63
+ ### Test
64
+ Run `rake test` to run the tests.
65
+
66
+ ### Debug
67
+ Run `bin/console` for an interactive prompt that will allow you to experiment.
68
+
69
+ ### Install Local
70
+ To install this gem onto your local machine, run `bundle exec rake install`.
71
+
72
+ ### Release
73
+
74
+ To release a new version, update the version number in `version.rb` and add notes to `CHANGELOG.md`.
35
75
 
36
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
76
+ From up-to-date `main` branch, run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
@@ -0,0 +1,23 @@
1
+ module Luma
2
+ class AppointmentType < Connection
3
+ APPOINTMENT_TYPE_ENDPOINT = '/api/appointmentTypes'.freeze
4
+
5
+ base_uri 'https://api.lumahealth.io/'.freeze
6
+
7
+ def view_appointment_types(endpoint: APPOINTMENT_TYPE_ENDPOINT, auth: true, name: nil, description: nil, debug_output: $stdout)
8
+ self.add_headers_and_body if auth
9
+
10
+ url = "api/appointmentTypes?name=#{name}&description=#{description}"
11
+ full_url = "https://api.lumahealth.io/" + url
12
+
13
+ result = HTTParty.get(full_url.to_str, headers: @headers, debug_output: $stdout)
14
+ end
15
+
16
+ def create_appointment_type(endpoint: APPOINTMENT_TYPE_ENDPOINT, body: nil, headers: {}, auth: true, verb: :post, debug_output: $stdout)
17
+ @body = body
18
+ self.add_headers_and_body if auth
19
+
20
+ result = self.class.send(verb.to_s, endpoint, body: @body, headers: @headers, debug_output: $stdout)
21
+ end
22
+ end
23
+ end
@@ -1,7 +1,6 @@
1
1
  module Luma
2
2
  class Connection
3
3
  DEFAULT_ENDPOINT = '/endpoint'.freeze
4
- APPOINTMENT_TYPE_ENDPOINT = '/api/appointmentTypes'.freeze
5
4
 
6
5
  include HTTParty
7
6
 
@@ -11,6 +10,11 @@ module Luma
11
10
 
12
11
  format :json
13
12
 
13
+ def initialize(body: nil, headers: {})
14
+ @body = body
15
+ @headers = headers
16
+ end
17
+
14
18
  def request(endpoint: DEFAULT_ENDPOINT, body: nil, headers: {}, auth: true, verb: :post)
15
19
  body = body.to_json if body.is_a?(Hash)
16
20
  headers = auth_header.merge(headers) if auth
@@ -18,29 +22,10 @@ module Luma
18
22
  self.class.send("#{verb}", endpoint, body: body, headers: headers)
19
23
  end
20
24
 
21
- def view_appointment_types(endpoint: APPOINTMENT_TYPE_ENDPOINT, body: nil, headers: {}, auth: true, name: nil, description: nil)
22
- if auth
23
- body = body.to_json
24
- headers = auth_header.merge(headers)
25
- headers["Content-Type"] = 'application/json'
26
- end
27
-
28
- url = "api/appointmentTypes?name=#{name}&description=#{description}"
29
- full_url = "https://api.lumahealth.io/" + url
30
-
31
- result = HTTParty.get(full_url.to_str, body: nil, headers: headers, debug_output: $stdout)
32
- { result: result, headers: headers }
33
- end
34
-
35
- def create_appointment_type(endpoint: APPOINTMENT_TYPE_ENDPOINT, body: nil, headers: {}, auth: true, verb: :post)
36
- if auth
37
- body = body.to_json
38
- headers = auth_header.merge(headers)
39
- headers["Content-Type"] = 'application/json'
40
- end
41
-
42
- result = self.class.send(verb.to_s, endpoint, body: body, headers: headers, debug_output: $stdout)
43
- { result: result, headers: headers }
25
+ def add_headers_and_body
26
+ @body = @body.to_json
27
+ @headers = auth_header.merge(@headers)
28
+ @headers["Content-Type"] = 'application/json'
44
29
  end
45
30
 
46
31
  private
@@ -0,0 +1,14 @@
1
+ module Luma
2
+ class Facilities < Connection
3
+ FACILITY_ENDPOINT = '/api/facilities'.freeze
4
+
5
+ base_uri 'https://api.lumahealth.io/'.freeze
6
+
7
+ def create_facility(endpoint: FACILITY_ENDPOINT, body: nil, headers: {}, auth: true, verb: :post, debug_output: $stdout)
8
+ @body = body
9
+ self.add_headers_and_body if auth
10
+
11
+ self.class.send(verb.to_s, endpoint, body: @body, headers: @headers)
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,15 @@
1
+ module Luma
2
+ class Provider < Connection
3
+ PROVIDER_ENDPOINT = '/api/providers'.freeze
4
+
5
+ base_uri 'https://api.lumahealth.io/'.freeze
6
+
7
+ def create_provider(endpoint: PROVIDER_ENDPOINT, body: nil, headers: {}, auth: true, verb: :post)
8
+ @body = body
9
+
10
+ self.add_headers_and_body if auth
11
+
12
+ result = self.class.send(verb.to_s, endpoint, body: @body, headers: @headers, debug_output: $stdout)
13
+ end
14
+ end
15
+ end
data/lib/luma/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Luma
2
- VERSION = '0.0.2'.freeze
2
+ VERSION = '0.0.6'.freeze
3
3
  end
data/lib/luma.rb CHANGED
@@ -4,6 +4,9 @@ require 'luma/version'
4
4
  require 'luma/luma_exception'
5
5
  require 'luma/connection'
6
6
  require 'luma/authentication'
7
+ require 'luma/provider'
8
+ require 'luma/appointment_type'
9
+ require 'luma/facilities'
7
10
 
8
11
  module Luma
9
12
  class Configuration
data/luma.gemspec CHANGED
@@ -36,4 +36,5 @@ Gem::Specification.new do |spec|
36
36
  spec.add_development_dependency 'rake', '~> 10.0'
37
37
  spec.add_development_dependency 'webmock', '~> 3.1'
38
38
  spec.add_development_dependency 'yard', '~> 0.9'
39
+ spec.add_development_dependency 'pry'
39
40
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: luma
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Angela Rodriguez
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-08-26 00:00:00.000000000 Z
11
+ date: 2021-10-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -128,6 +128,20 @@ dependencies:
128
128
  - - "~>"
129
129
  - !ruby/object:Gem::Version
130
130
  version: '0.9'
131
+ - !ruby/object:Gem::Dependency
132
+ name: pry
133
+ requirement: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - ">="
136
+ - !ruby/object:Gem::Version
137
+ version: '0'
138
+ type: :development
139
+ prerelease: false
140
+ version_requirements: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ version: '0'
131
145
  description:
132
146
  email:
133
147
  - angela.rodriguez@weinfuse.com
@@ -141,9 +155,12 @@ files:
141
155
  - README.md
142
156
  - Rakefile
143
157
  - lib/luma.rb
158
+ - lib/luma/appointment_type.rb
144
159
  - lib/luma/authentication.rb
145
160
  - lib/luma/connection.rb
161
+ - lib/luma/facilities.rb
146
162
  - lib/luma/luma_exception.rb
163
+ - lib/luma/provider.rb
147
164
  - lib/luma/version.rb
148
165
  - luma.gemspec
149
166
  homepage: https://github.com/WeInfuse/luma