echo-craft 0.1.0
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 +7 -0
- data/lib/echo_craft/response.rb +26 -0
- data/lib/echo_craft/service_object.rb +24 -0
- data/lib/echo_craft/service_objects/create.rb +28 -0
- data/lib/echo_craft/service_objects/destroy.rb +19 -0
- data/lib/echo_craft/service_objects/update.rb +22 -0
- data/lib/echo_craft.rb +8 -0
- metadata +50 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 44e7255489f0cdd65cd3146138c4ecfb20bc653ebe47a43a7553c2904dcff7be
|
4
|
+
data.tar.gz: 896f46cbf63a21166a0224619643f372f6f35d3dd2f77f13a2019dc5d61efabd
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: bdc284063a760d0eb0c0386f7387fb60034f0a821526ab354b4f7a39b16c23a4c94b20ccad7b9a2af1936150bf81b0e3e538ec1e6b267e433cad1decb6119be5
|
7
|
+
data.tar.gz: bd7761baa3560caf9f51824ccd61cbb1baf1c45091c64339d5a6fb075b413156262e1622b47e665c2e1456b7a785dee992b3f10cb8a240b0b2f05c06181983e6
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module EchoCraft
|
4
|
+
# Basic Response with EchoCraft Struct
|
5
|
+
class Response
|
6
|
+
require 'rack'
|
7
|
+
require 'ostruct'
|
8
|
+
|
9
|
+
attr_reader :status, :message, :data
|
10
|
+
|
11
|
+
def initialize
|
12
|
+
change_status(:processing)
|
13
|
+
@data = ::OpenStruct.new
|
14
|
+
end
|
15
|
+
|
16
|
+
def status=(status)
|
17
|
+
change_status(status)
|
18
|
+
end
|
19
|
+
|
20
|
+
def change_status(status)
|
21
|
+
@status = ::Rack::Utils.status_code(status)
|
22
|
+
@message = ::Rack::Utils::HTTP_STATUS_CODES[@status]
|
23
|
+
@status
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module EchoCraft
|
4
|
+
require 'echo_craft/response'
|
5
|
+
# Basic Response to Service Objects
|
6
|
+
class ServiceObject < EchoCraft::Response
|
7
|
+
attr_accessor :record, :successful
|
8
|
+
|
9
|
+
def initialize
|
10
|
+
super
|
11
|
+
@record = nil
|
12
|
+
@successful = false
|
13
|
+
@status = change_status(:accepted)
|
14
|
+
end
|
15
|
+
|
16
|
+
def set_service_successful
|
17
|
+
@successful = true
|
18
|
+
end
|
19
|
+
|
20
|
+
def unprocessabled
|
21
|
+
change_status(:unprocessable_entity)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module EchoCraft
|
4
|
+
module ServiceObjects
|
5
|
+
require 'echo_craft/service_object'
|
6
|
+
# Basic Response to Create a Record on ServiceObject
|
7
|
+
class Create < EchoCraft::ServiceObject
|
8
|
+
attr_accessor :params
|
9
|
+
|
10
|
+
def initialize(params)
|
11
|
+
super()
|
12
|
+
@record = nil
|
13
|
+
@params = params
|
14
|
+
end
|
15
|
+
|
16
|
+
def created(record)
|
17
|
+
@record = record
|
18
|
+
change_status(:created)
|
19
|
+
set_service_successful
|
20
|
+
end
|
21
|
+
|
22
|
+
def unprocessabled(record)
|
23
|
+
@record = record
|
24
|
+
super()
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module EchoCraft
|
4
|
+
module ServiceObjects
|
5
|
+
require 'echo_craft/service_object'
|
6
|
+
# Basic Response to Destroy a Record on ServiceObject
|
7
|
+
class Destroy < EchoCraft::ServiceObject
|
8
|
+
def initialize(record)
|
9
|
+
super()
|
10
|
+
@record = record
|
11
|
+
end
|
12
|
+
|
13
|
+
def destroyed
|
14
|
+
change_status(:ok)
|
15
|
+
set_service_successful
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module EchoCraft
|
4
|
+
module ServiceObjects
|
5
|
+
require 'echo_craft/service_object'
|
6
|
+
# Basic Response to Update a Record on ServiceObject
|
7
|
+
class Update < EchoCraft::ServiceObject
|
8
|
+
attr_accessor :params
|
9
|
+
|
10
|
+
def initialize(record, params)
|
11
|
+
super()
|
12
|
+
@record = record
|
13
|
+
@params = params
|
14
|
+
end
|
15
|
+
|
16
|
+
def updated
|
17
|
+
change_status(:ok)
|
18
|
+
set_service_successful
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
data/lib/echo_craft.rb
ADDED
metadata
ADDED
@@ -0,0 +1,50 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: echo-craft
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Marcos Chuquicondor
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2024-01-25 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
13
|
+
description: Manage Standard Responses.
|
14
|
+
email:
|
15
|
+
- marcos@chuquicondor.com
|
16
|
+
executables: []
|
17
|
+
extensions: []
|
18
|
+
extra_rdoc_files: []
|
19
|
+
files:
|
20
|
+
- lib/echo_craft.rb
|
21
|
+
- lib/echo_craft/response.rb
|
22
|
+
- lib/echo_craft/service_object.rb
|
23
|
+
- lib/echo_craft/service_objects/create.rb
|
24
|
+
- lib/echo_craft/service_objects/destroy.rb
|
25
|
+
- lib/echo_craft/service_objects/update.rb
|
26
|
+
homepage: https://github.com/chuquimm/echo_craft
|
27
|
+
licenses:
|
28
|
+
- MIT
|
29
|
+
metadata:
|
30
|
+
homepage_uri: https://github.com/chuquimm/echo_craft
|
31
|
+
post_install_message:
|
32
|
+
rdoc_options: []
|
33
|
+
require_paths:
|
34
|
+
- lib
|
35
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - ">="
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: 3.1.0
|
40
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
41
|
+
requirements:
|
42
|
+
- - ">="
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
version: '0'
|
45
|
+
requirements: []
|
46
|
+
rubygems_version: 3.3.3
|
47
|
+
signing_key:
|
48
|
+
specification_version: 4
|
49
|
+
summary: Standard Responses.
|
50
|
+
test_files: []
|