posko-browser 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 7045a20d9908588f7a726ebfbb9c56f0f8df4e1b9993a9fa924f85bb57ee20bf
4
+ data.tar.gz: 25d84061957d0d0683924b5e175669bf17ba1faf084a12913e872b3f02d6f890
5
+ SHA512:
6
+ metadata.gz: 6e802a80dc5c7fe57f613ff02edd858f20c74601c7dbeed2b4110bf4d7dc01c38705bb1b802eaf351ed8379a4aaef7fadc742021a6347a8d2034cc547c91617e
7
+ data.tar.gz: 1a4d1279a623d9490ff21c66906bd007e389573889934fd9b9f89ef3467fdbc56f32e58b6cf366211c1f5fb6d879fae5dabec3ed62e9337ecddf2b6ac4f2f7db
data/MIT-LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright 2018 Joseph Nelson Valeros
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,32 @@
1
+ # Posko::Browser
2
+ A browser terminal for [POSko](https://github.com/neume/posko). This plugin is
3
+ specifically designed for POSko. This is created to modularize some of the features
4
+ of POSko.
5
+
6
+ ## Installation
7
+ Add this line to your application's Gemfile:
8
+
9
+ ```ruby
10
+ gem 'posko-browser'
11
+ ```
12
+
13
+ And then execute:
14
+ ```bash
15
+ $ bundle
16
+ ```
17
+
18
+ Add a line that mounts the engine to your app
19
+ ```ruby
20
+ Rails.application.routes.draw do
21
+ # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
22
+ mount Posko::Browser::Engine => "/posko-browser"
23
+ end
24
+ ```
25
+
26
+ ## Contributing
27
+ This is a minimal implementation of POS terminal in browsers. You are free to suggest or contribute to
28
+ improve this project further. You can also create your own engine to be mounted on
29
+ the parent project. Just send me an email to include your project in [POSko](https://github.com/neume/posko)'s engines list.
30
+
31
+ ## License
32
+ The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
data/Rakefile ADDED
@@ -0,0 +1,32 @@
1
+ begin
2
+ require 'bundler/setup'
3
+ rescue LoadError
4
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
5
+ end
6
+
7
+ require 'rdoc/task'
8
+
9
+ RDoc::Task.new(:rdoc) do |rdoc|
10
+ rdoc.rdoc_dir = 'rdoc'
11
+ rdoc.title = 'Posko::Browser'
12
+ rdoc.options << '--line-numbers'
13
+ rdoc.rdoc_files.include('README.md')
14
+ rdoc.rdoc_files.include('lib/**/*.rb')
15
+ end
16
+
17
+ APP_RAKEFILE = File.expand_path("test/dummy/Rakefile", __dir__)
18
+ load 'rails/tasks/engine.rake'
19
+
20
+ load 'rails/tasks/statistics.rake'
21
+
22
+ require 'bundler/gem_tasks'
23
+
24
+ require 'rake/testtask'
25
+
26
+ Rake::TestTask.new(:test) do |t|
27
+ t.libs << 'test'
28
+ t.pattern = 'test/**/*_test.rb'
29
+ t.verbose = false
30
+ end
31
+
32
+ task default: :test
@@ -0,0 +1,2 @@
1
+ //= link_directory ../javascripts/posko/browser .js
2
+ //= link_directory ../stylesheets/posko/browser .css
@@ -0,0 +1,15 @@
1
+ // This is a manifest file that'll be compiled into application.js, which will include all the files
2
+ // listed below.
3
+ //
4
+ // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
+ // or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.
6
+ //
7
+ // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
+ // compiled file. JavaScript code in this file should be added after the last require_* statement.
9
+ //
10
+ // Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
11
+ // about supported directives.
12
+ //
13
+ //= require rails-ujs
14
+ // require activestorage // for rails 5.2.2
15
+ //= require_tree .
@@ -0,0 +1,2 @@
1
+ // Place all the behaviors and hooks related to the matching controller here.
2
+ // All this logic will automatically be available in application.js.
@@ -0,0 +1,15 @@
1
+ /*
2
+ * This is a manifest file that'll be compiled into application.css, which will include all the files
3
+ * listed below.
4
+ *
5
+ * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6
+ * or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path.
7
+ *
8
+ * You're free to add application-wide styles to this file and they'll appear at the bottom of the
9
+ * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
10
+ * files in this directory. Styles in this file should be added after the last require_* statement.
11
+ * It is generally better to create a new file per style scope.
12
+ *
13
+ *= require_tree .
14
+ *= require_self
15
+ */
@@ -0,0 +1,4 @@
1
+ /*
2
+ Place all the styles related to the matching controller here.
3
+ They will automatically be included in application.css.
4
+ */
@@ -0,0 +1,7 @@
1
+ module Posko
2
+ module Browser
3
+ class ApplicationController < ActionController::Base
4
+ protect_from_forgery with: :exception
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,8 @@
1
+ require_dependency "posko/browser/application_controller"
2
+
3
+ module Posko::Browser
4
+ class PagesController < ApplicationController
5
+ def index
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,6 @@
1
+ module Posko
2
+ module Browser
3
+ module ApplicationHelper
4
+ end
5
+ end
6
+ end
@@ -0,0 +1,4 @@
1
+ module Posko::Browser
2
+ module PagesHelper
3
+ end
4
+ end
@@ -0,0 +1,6 @@
1
+ module Posko
2
+ module Browser
3
+ class ApplicationJob < ActiveJob::Base
4
+ end
5
+ end
6
+ end
@@ -0,0 +1,8 @@
1
+ module Posko
2
+ module Browser
3
+ class ApplicationMailer < ActionMailer::Base
4
+ default from: 'from@example.com'
5
+ layout 'mailer'
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,7 @@
1
+ module Posko
2
+ module Browser
3
+ class ApplicationRecord < ActiveRecord::Base
4
+ self.abstract_class = true
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,16 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>Posko browser</title>
5
+ <%= csrf_meta_tags %>
6
+ <%# csp_meta_tag # for rails 5.2.2 %>
7
+
8
+ <%# stylesheet_link_tag "posko/browser/application", media: "all" %>
9
+ <%# javascript_include_tag "posko/browser/application" %>
10
+ </head>
11
+ <body>
12
+
13
+ <%= yield %>
14
+
15
+ </body>
16
+ </html>
@@ -0,0 +1,85 @@
1
+ <script>
2
+ // var a = function() {
3
+ var idb = window.indexedDB || window.mozIndexedDB || window.webkitIndexDB || window.msIndexDB
4
+
5
+ let request = idb.open('poskoDB', 1), db, tx, store, index;
6
+
7
+ console.log(request)
8
+ request.onerror = function(e) {
9
+ console.log('error')
10
+ }
11
+ request.onsuccess = function(e) {
12
+ db = request.result
13
+ tx = db.transaction('variants', 'readwrite')
14
+ store = tx.objectStore('variants')
15
+ var items = [
16
+ {
17
+ id: 1,
18
+ name: 'Laptop',
19
+ },
20
+ {
21
+ id: 2,
22
+ name: 'Phone'
23
+ }
24
+ ]
25
+
26
+ // store.put(items[0])
27
+ // store.put(items[1])
28
+
29
+ items2 = store.getAll();
30
+ console.log(items2)
31
+ items2.onsuccess = function() {
32
+ items2.result.forEach(function(item) {
33
+ console.log(item)
34
+ })
35
+ }
36
+
37
+ tx.oncomplete = function() {
38
+ db.close();
39
+ }
40
+ }
41
+
42
+ request.onupgradeneeded = function(e) {
43
+ let db = request.result,
44
+ store = db.createObjectStore('variants', {keyPath: 'id'}),
45
+ index = store.createIndex('id', 'id', {unique: true})
46
+ }
47
+ // }
48
+ // (function(){
49
+ // a();
50
+ // });
51
+ // var dbPromise = window.indexedDB.open('posko', 1, function(upgradeDb) {
52
+ // console.log('making a new object store');
53
+ // if (!upgradeDb.objectStoreNames.contains('variants')) {
54
+ // var variantOS = upgradeDb.createObjectStore('variants', {keyPath: 'id'});
55
+ // variantOS.createIndex('id', 'id', {unique: true});
56
+ // }
57
+ // });
58
+ // dbPromise.then(function(db){
59
+ // var tx = db.transaction('variants', 'readwrite')
60
+ // var store = tx.objectStore('variants')
61
+ // var items = [
62
+ // {
63
+ // id: 1,
64
+ // name: 'Laptop',
65
+ // },
66
+ // {
67
+ // id: 2,
68
+ // name: 'Phone'
69
+ // }
70
+ // ]
71
+ //
72
+ // store.add(items[0])
73
+ // store.add(items[1])
74
+ // return tx.complete;
75
+ // }).then(function(db) {
76
+ // var tx = db.transaction('variants', 'readonly');
77
+ // var store = tx.objectStore('variants');
78
+ // items = store.getAll();
79
+ // forEach(items, function(){
80
+ // console.log(item)
81
+ // })
82
+ // });
83
+ // };
84
+ // a();
85
+ </script>
data/config/routes.rb ADDED
@@ -0,0 +1,3 @@
1
+ Posko::Browser::Engine.routes.draw do
2
+ root 'pages#index'
3
+ end
@@ -0,0 +1,7 @@
1
+ require "posko/browser/engine"
2
+
3
+ module Posko
4
+ module Browser
5
+ # Your code goes here...
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ module Posko
2
+ module Browser
3
+ class Engine < ::Rails::Engine
4
+ isolate_namespace Posko::Browser
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,5 @@
1
+ module Posko
2
+ module Browser
3
+ VERSION = '0.0.1'
4
+ end
5
+ end
@@ -0,0 +1,4 @@
1
+ # desc "Explaining what the task does"
2
+ # task :posko_browser do
3
+ # # Task goes here
4
+ # end
metadata ADDED
@@ -0,0 +1,96 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: posko-browser
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Joseph Nelson Valeros
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2018-12-26 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 5.1.6
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 5.1.6
27
+ - !ruby/object:Gem::Dependency
28
+ name: sqlite3
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ description: A browser terminal for [POSko](https://github.com/neume/posko). This
42
+ plugin is specifically designed for POSko. This is created to modularize some of
43
+ the features of POSko.
44
+ email:
45
+ - valerosjoseph@gmail.com
46
+ executables: []
47
+ extensions: []
48
+ extra_rdoc_files: []
49
+ files:
50
+ - MIT-LICENSE
51
+ - README.md
52
+ - Rakefile
53
+ - app/assets/config/posko_browser_manifest.js
54
+ - app/assets/javascripts/posko/browser/application.js
55
+ - app/assets/javascripts/posko/browser/pages.js
56
+ - app/assets/stylesheets/posko/browser/application.css
57
+ - app/assets/stylesheets/posko/browser/pages.css
58
+ - app/controllers/posko/browser/application_controller.rb
59
+ - app/controllers/posko/browser/pages_controller.rb
60
+ - app/helpers/posko/browser/application_helper.rb
61
+ - app/helpers/posko/browser/pages_helper.rb
62
+ - app/jobs/posko/browser/application_job.rb
63
+ - app/mailers/posko/browser/application_mailer.rb
64
+ - app/models/posko/browser/application_record.rb
65
+ - app/views/layouts/posko/browser/application.html.erb
66
+ - app/views/posko/browser/pages/index.html.erb
67
+ - config/routes.rb
68
+ - lib/posko/browser.rb
69
+ - lib/posko/browser/engine.rb
70
+ - lib/posko/browser/version.rb
71
+ - lib/tasks/posko/browser_tasks.rake
72
+ homepage: https://github.com/neume/posko-browser
73
+ licenses:
74
+ - MIT
75
+ metadata: {}
76
+ post_install_message:
77
+ rdoc_options: []
78
+ require_paths:
79
+ - lib
80
+ required_ruby_version: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ version: '0'
85
+ required_rubygems_version: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ requirements: []
91
+ rubyforge_project:
92
+ rubygems_version: 2.7.6
93
+ signing_key:
94
+ specification_version: 4
95
+ summary: A browser terminal for POSko
96
+ test_files: []