luma 0.0.1 → 0.0.5

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: 90cb5a8a4e2004979fffe11787e075eadd846e0212772982ca8ecaf14c0dfa4b
4
- data.tar.gz: 0f984cb029cf220619d3e30410a352d24a8b56dfe7df1dc02fe6bec7f762d82d
3
+ metadata.gz: 4fa51b1a67a6654b087dd07a6fac2cbfa92d5bdabd78adb9ac1dc7b7a61d4f20
4
+ data.tar.gz: 152164770be9e7a8753b0456f2a94b15f2fcfc1f75795b9266b09cb81fbecc20
5
5
  SHA512:
6
- metadata.gz: 1323627f934c929039a9c00d4f006177fb8f90d76f1379889a339c57948f247d5f0dc23043c174513adb3a312fe6213059db03bbb8432c9e34389e6e70c1d74d
7
- data.tar.gz: 47853cccd286d61f368688cd8553b3fc6128b3b905a92791e63589174e92a09b82dc17282e63bc0a882bc8cc416b832753bfd7d2c919cfc4f44ef53b01962ec6
6
+ metadata.gz: 0fd82fa1ded48b2aea24bdedaa370ec498d28fe3be85748974b606273d3be0991ee570d2083c83bd19e5217e8b8181ab063df3abbf31f74ec0595a05c478934a
7
+ data.tar.gz: c9769fb14069ad01e56b53f9ac512735ee51f2cab42f003b3bd9eb9a3d59a452e52ae9a21e5db0548de48700463a4f2e3007e9e4f47689fa41f282a568baf9c5
data/CHANGELOG.md CHANGED
@@ -1,4 +1,43 @@
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.5] - 2021-10-14
8
+
9
+ ### Changed
10
+
11
+ - Return HTTParty response when creating facility, appointment type, provider
12
+
13
+ ## [0.0.4] - 2021-09-7
14
+
15
+ ### Added
16
+
17
+ - Added API Access for creating a facility (POST)
18
+
19
+ ## [0.0.3] - 2021-08-30
20
+
21
+ ### Changed
22
+
23
+ - Models to have better inheritance and DRYer code
24
+
25
+ ### Added
26
+
27
+ - Added API access for creating a provider (POST)
28
+
29
+ ## [0.0.2] - 2021-08-26
30
+
31
+ ### Added
32
+
33
+ - Added API access for creating and finding appointment types (GET and POST)
34
+
1
35
  ## [0.0.1] - 2021-05-28
36
+
2
37
  - Initial Create
3
38
 
4
- [0.1.1]: https://github.com/WeInfuse/luma/compare/0.1.0...0.1.1
39
+ [0.0.5]: https://github.com/WeInfuse/luma/compare/v0.0.4...v0.0.5
40
+ [0.0.4]: https://github.com/WeInfuse/luma/compare/v0.0.3...v0.0.4
41
+ [0.0.3]: https://github.com/WeInfuse/luma/compare/v0.0.2...v0.0.3
42
+ [0.0.2]: https://github.com/WeInfuse/luma/compare/v0.0.1...v0.0.2
43
+ [0.0.1]: https://github.com/WeInfuse/luma/compare/4626a358638...v0.0.1
data/README.md CHANGED
@@ -29,8 +29,47 @@ 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
+ Luma::Provider.new.create_provider(name: 'Billy Bob', npi: 1234567891)
55
+ ```
56
+
32
57
  ## Development
33
58
 
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.
59
+ ### Prep
60
+ After checking out the repo, run `bin/setup` to install dependencies.
61
+
62
+ ### Test
63
+ Run `rake test` to run the tests.
64
+
65
+ ### Debug
66
+ Run `bin/console` for an interactive prompt that will allow you to experiment.
67
+
68
+ ### Install Local
69
+ To install this gem onto your local machine, run `bundle exec rake install`.
70
+
71
+ ### Release
72
+
73
+ To release a new version, update the version number in `version.rb` and add notes to `CHANGELOG.md`.
35
74
 
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).
75
+ 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
@@ -10,6 +10,11 @@ module Luma
10
10
 
11
11
  format :json
12
12
 
13
+ def initialize(body: nil, headers: {})
14
+ @body = body
15
+ @headers = headers
16
+ end
17
+
13
18
  def request(endpoint: DEFAULT_ENDPOINT, body: nil, headers: {}, auth: true, verb: :post)
14
19
  body = body.to_json if body.is_a?(Hash)
15
20
  headers = auth_header.merge(headers) if auth
@@ -17,6 +22,12 @@ module Luma
17
22
  self.class.send("#{verb}", endpoint, body: body, headers: headers)
18
23
  end
19
24
 
25
+ def add_headers_and_body
26
+ @body = @body.to_json
27
+ @headers = auth_header.merge(@headers)
28
+ @headers["Content-Type"] = 'application/json'
29
+ end
30
+
20
31
  private
21
32
 
22
33
  def auth_header
@@ -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,18 @@
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, name: "", npi: nil, headers: {}, auth: true, verb: :post)
8
+ @body = {
9
+ name: name,
10
+ npi: npi
11
+ }
12
+
13
+ self.add_headers_and_body if auth
14
+
15
+ result = self.class.send(verb.to_s, endpoint, body: @body, headers: @headers, debug_output: $stdout)
16
+ end
17
+ end
18
+ end
data/lib/luma/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Luma
2
- VERSION = '0.0.1'.freeze
2
+ VERSION = '0.0.5'.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.1
4
+ version: 0.0.5
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-06-02 00:00:00.000000000 Z
11
+ date: 2021-10-14 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