ff_api 0.0.2

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.
Files changed (4) hide show
  1. checksums.yaml +7 -0
  2. data/lib/ff_api/school.rb +20 -0
  3. data/lib/ff_api.rb +53 -0
  4. metadata +45 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: f4c6fde97fd38da882b0e0ef52e6a0b2988e647a523354746643fd58e51ab4d5
4
+ data.tar.gz: e1932ea676ce4709d93661430c75e6097698146b22233065eea2925e515109ea
5
+ SHA512:
6
+ metadata.gz: eb6adeb322821945519698eb36002973781ee91b6b99672b5fd77a256a3de9739beb091bd1ea76b0d55c1e1ce94967879e66fe5e06a4c51f566ea05f7fc0c738
7
+ data.tar.gz: '09cbcd9ee9cf917f46b1e7f935551f5337f5020541627aad8318c0e8dce59156844144456bd2f2125899d0b2b3fdd46616e17d7b686c886a7cbcc71289623869'
@@ -0,0 +1,20 @@
1
+ module FfApi
2
+ class School
3
+ attr_accessor(
4
+ *%w[
5
+ nces_id
6
+ nces_name
7
+ name
8
+ level
9
+ ]
10
+ )
11
+ def initialize(school_hash)
12
+ set(school_hash)
13
+ end
14
+
15
+ def set(params)
16
+ params.each { |key, value| send("#{key}=", value) }
17
+ self
18
+ end
19
+ end
20
+ end
data/lib/ff_api.rb ADDED
@@ -0,0 +1,53 @@
1
+ require("faraday")
2
+ require("byebug")
3
+ require('ff_api/school')
4
+
5
+
6
+ module FfApi
7
+ class V1
8
+ attr_accessor(:api_key)
9
+
10
+ def initialize(api_key:)
11
+ self.api_key = api_key
12
+ end
13
+
14
+ def base_url
15
+ "http://dev-oh.finalforms.me:8080/api/v1"
16
+ end
17
+
18
+ def schools(params = {})
19
+ connection = Faraday.new(url: base_url)
20
+ response = connection.get("schools.json", {}) do |request|
21
+ request.headers["Authorization"] = "Bearer #{api_key}"
22
+ end
23
+ if response.status == 200
24
+ schools = JSON.parse(response.body)
25
+ schools.map { |school_hash| FfApi::School.new(school_hash) }
26
+ elsif response.status == 401
27
+ body = JSON.parse(response.body)
28
+ body.merge(status: response.status)
29
+ end
30
+ end
31
+ end
32
+
33
+ # class School
34
+ # attr_accessor(
35
+ # *%w[
36
+ # nces_id
37
+ # nces_name
38
+ # name
39
+ # level
40
+ # ]
41
+ # )
42
+ # def initialize(school_hash)
43
+ # set(school_hash)
44
+ # end
45
+
46
+ # def set(params)
47
+ # params.each { |key, value| send("#{key}=", value) }
48
+ # self
49
+ # end
50
+
51
+ # end
52
+
53
+ end
metadata ADDED
@@ -0,0 +1,45 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ff_api
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.2
5
+ platform: ruby
6
+ authors:
7
+ - Austin Cotant
8
+ - Skyler Cummins
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2024-04-23 00:00:00.000000000 Z
13
+ dependencies: []
14
+ description: An easy to use ruby gem to fetch data from the finalforms database
15
+ email: austin@finalforms.com
16
+ executables: []
17
+ extensions: []
18
+ extra_rdoc_files: []
19
+ files:
20
+ - lib/ff_api.rb
21
+ - lib/ff_api/school.rb
22
+ homepage: https://rubygems.org/gems/ff_api
23
+ licenses:
24
+ - MIT
25
+ metadata: {}
26
+ post_install_message:
27
+ rdoc_options: []
28
+ require_paths:
29
+ - lib
30
+ required_ruby_version: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
35
+ required_rubygems_version: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
40
+ requirements: []
41
+ rubygems_version: 3.5.9
42
+ signing_key:
43
+ specification_version: 4
44
+ summary: Finalforms API Helper
45
+ test_files: []