bormashino 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4bb956339d3b78078aeec64081c938defbd6a69a5badd5b8843f99558cd86cd1
4
- data.tar.gz: ed1064233e5fb782c950490a4fd7286c173c6b3d5d7ae4d02c16ac746954ecf4
3
+ metadata.gz: 1c6c917023f14695a0b5ae88b3c50b8f2b37d9516d05c1427ed859d8d12c710f
4
+ data.tar.gz: c72487b632f901f7d40b68c979cbcf908e53ed2e98323707d0d4e7c0ab806438
5
5
  SHA512:
6
- metadata.gz: 303157341955288cb15dae40e7b83fc822f9f36cc67ef8ae7d08714f2879dd2b25c87123be0549d1c49859aa487e4d89d09852403915eefd375e699408202c1a
7
- data.tar.gz: 9e968e30bb4e7a6a3a77a6fac27af5ff974075c5ab3882df7a665c985906e38ae565baa57f7132a5c45dbd0ec1da514a644b99b4d1a650849a8e6dee50a6a808
6
+ metadata.gz: 37c859264a65f0af907c3faaabb74cb2f96afe3daeb8de91d65ce1511bf4c41ccfc592f54b30616be68a6de910ef5696d23727befac12471eff45c89adbe235b
7
+ data.tar.gz: 2fa7b38d1018c9e0f7ab31fb41d84b0a5ff81a0decd16814ba213953cbbaf615a8227facfafb99947b96c4241e12f5be7e5717401efd02bc25797ab03fb225b7
@@ -0,0 +1,36 @@
1
+ require 'js'
2
+ require_relative 'ext/js'
3
+
4
+ module Bormashino
5
+ class Fetch
6
+ attr_accessor :resource, :init, :resolved_to
7
+
8
+ def initialize(resource:, resolved_to:, init: {})
9
+ @resource = resource
10
+ @init = init
11
+ @resolved_to = resolved_to
12
+ end
13
+
14
+ def run
15
+ raise 'No app is mounted' unless Bormashino::Server.mounted?
16
+
17
+ # rubocop:disable Style::DocumentDynamicEvalDefinition
18
+ JS.eval <<-ENDOFEVAL
19
+ fetch(
20
+ #{@resource.to_json},
21
+ #{@init.to_json}
22
+ ).then((r) => {
23
+ r.text().then((t) => {
24
+ window.bormashino.request(
25
+ 'post',
26
+ #{@resolved_to.to_json},
27
+ 'status=' + r.status +
28
+ '&payload=' + encodeURIComponent(t)
29
+ )
30
+ })
31
+ })
32
+ ENDOFEVAL
33
+ # rubocop:enable Style::DocumentDynamicEvalDefinition
34
+ end
35
+ end
36
+ end
@@ -3,6 +3,10 @@ require 'stringio'
3
3
 
4
4
  module Bormashino
5
5
  module Server
6
+ def self.mounted?
7
+ !@app.nil?
8
+ end
9
+
6
10
  def self.mount(app_class)
7
11
  @app = app_class.new
8
12
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Bormashino
4
- VERSION = '0.1.2'
4
+ VERSION = '0.1.3'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bormashino
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kenichiro Yasuda
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-05-04 00:00:00.000000000 Z
11
+ date: 2022-05-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json_pure
@@ -72,6 +72,7 @@ files:
72
72
  - README.md
73
73
  - lib/bormashino.rb
74
74
  - lib/bormashino/ext/js.rb
75
+ - lib/bormashino/fetch.rb
75
76
  - lib/bormashino/local_storage.rb
76
77
  - lib/bormashino/mock/local_storage.rb
77
78
  - lib/bormashino/server.rb