opal-bootbox 0.1.0

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
+ SHA1:
3
+ metadata.gz: e94c8a226c35e6fc5399538d5ca5eb973462a1d9
4
+ data.tar.gz: 2589cc1d0833023a5444f3814a84f1d3f2018a28
5
+ SHA512:
6
+ metadata.gz: af6abe7bd3a80cff78427098059b049f4397bd891433f1d77ed307e16966214f32a8bfb8093e3073305e4ea35be2286d3efc330374e29ebd3c7fbf57639217fc
7
+ data.tar.gz: e7b07b2e6eb60c913f982885ea7441aa35b5c1867190c8b51bd5e4b6f6934c08ae2376838521662a7256200b1c56bf98d97a0d23483f2e729e28e77d3259df82
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2015 Colin Gunn
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,119 @@
1
+ ## Opal Ruby wrapper of Bootbox Javascript library
2
+
3
+ The goal of this project is to wrap the Bootbox Javascript library with Opal, providing a simple Ruby interface to Bootbox functionality.
4
+
5
+ Bootbox.js is a small JavaScript library which implements dialog (alert, prompt, confirm) boxes using Bootstrap modals.
6
+
7
+ To find out more about Bootbox, go to http://bootboxjs.com.
8
+
9
+ To find out more about Opal, go to http://opalrb.org
10
+
11
+ ## Installation
12
+
13
+ Install opal-bootbox from RubyGems:
14
+
15
+ ```
16
+ $ gem install opal-bootbox
17
+ ```
18
+
19
+ Or include it in your Gemfile for Bundler:
20
+
21
+ ```
22
+ ruby
23
+ gem 'opal-bootbox'
24
+ ```
25
+
26
+ ## Cloning this repository
27
+
28
+ ```
29
+ $ git clone https://github.com/balmoral/opal-bootbox
30
+ ```
31
+
32
+ ## Getting Started
33
+
34
+ ### Usage
35
+
36
+ `opal-bootbox` can be added to your opal application sources using a standard require:
37
+
38
+ ```
39
+ ruby
40
+ # app/application.rb
41
+ require 'opal'
42
+ require 'opal-bootbox'
43
+ ```
44
+
45
+ > You need to bring your own `bootbox.js` or `bootbox.min.js` and bootstrap files.
46
+ >> http://bootboxjs.com/download/
47
+ >> http://getbootstrap.com/getting-started/#download
48
+ > and put the files in `app/` or whichever directory you are compiling assets from.
49
+
50
+ ### Usage
51
+
52
+ ```
53
+ $bootbox.alert('Hello world!') do
54
+ puts 'hello world acknowledged'
55
+ end
56
+
57
+ $bootbox.alert(title: 'Alert dialog', message: 'Hello world!') do
58
+ puts 'hello world acknowledged'
59
+ end
60
+
61
+ $bootbox.confirm('Are you sure?') do |result|
62
+ puts "user is #{result ? 'sure' : 'unsure'}"
63
+ end
64
+
65
+ $bootbox.confirm(title: 'Confirmation dialog', message: Are you sure?') do |result|
66
+ puts "user is #{result ? 'sure' : 'unsure'}"
67
+ end
68
+
69
+ $bootbox.prompt('What is your name?') do |result|
70
+ if result
71
+ puts "user's name is '#{result}'"
72
+ else
73
+ puts "prompt dismissed"
74
+ end
75
+ end
76
+
77
+ $bootbox.prompt(title: 'Prompt dialog', message: 'What is your name?', value: 'default name') do |result|
78
+ if result
79
+ puts "user's name is '#{result}'"
80
+ else
81
+ puts "prompt dismissed"
82
+ end
83
+ end
84
+
85
+ ```
86
+
87
+ `$bootbox` is a global variable. `Opal::Bootbox` may be substituted.
88
+
89
+ Strings (text) provided as arguments to bootbox methods may be HTML format.
90
+
91
+ ## To do
92
+
93
+ * Implement Bootbox custom dialog options.
94
+ * Documentation
95
+ * Testing
96
+
97
+ ## Getting involved
98
+
99
+ To contribute to this project, follow the steps below.
100
+
101
+ 1. Fork the repo ( https://github.com/balmoral/opal-bootbox/fork )
102
+ 2. Create your feature branch (`git checkout -b new-branch`)
103
+ 3. Commit your changes (`git commit -am 'description of commit'`)
104
+ 4. Push to the branch (`git push origin new-branch`)
105
+ 5. Create a Pull Request
106
+
107
+ Contributions welcome.
108
+
109
+ ## Licenses
110
+
111
+ ### Bootbox
112
+ Open source (MIT) licence.
113
+ See https://github.com/makeusabrew/bootbox/blob/master/LICENSE.md for details.
114
+
115
+ ###opal-bootbox
116
+ MIT Licence.
117
+ See LICENSE.txt
118
+
119
+
data/gemfile ADDED
@@ -0,0 +1,2 @@
1
+ source 'https://rubygems.org'
2
+ gemspec
data/lib/Rakefile ADDED
@@ -0,0 +1,48 @@
1
+ require 'bundler'
2
+ Bundler.require
3
+ Bundler::GemHelper.install_tasks
4
+
5
+ require 'opal/rspec/rake_task'
6
+ Opal::RSpec::RakeTask.new(:default) do |s|
7
+ s.index_path = 'spec/html/index.html.erb'
8
+ end
9
+
10
+ desc "Build build/opal-bootbox.js"
11
+ task :dist do
12
+ require 'fileutils'
13
+ FileUtils.mkdir_p 'build'
14
+
15
+ src = Opal::Builder.build('opal-bootbox')
16
+ #min = uglify src
17
+ #gzp = gzip min
18
+
19
+ File.open('build/opal-bootbox.js', 'w+') do |out|
20
+ out << src
21
+ end
22
+
23
+ #puts "development: #{src.size}, minified: #{min.size}, gzipped: #{gzp.size}"
24
+ end
25
+
26
+ # Used for uglifying source to minify
27
+ def uglify(str)
28
+ IO.popen('uglifyjs', 'r+') do |i|
29
+ i.puts str
30
+ i.close_write
31
+ return i.read
32
+ end
33
+ rescue Errno::ENOENT
34
+ $stderr.puts '"uglifyjs" command not found (install with: "npm install -g uglify-js")'
35
+ nil
36
+ end
37
+
38
+ # Gzip code to check file size
39
+ def gzip(str)
40
+ IO.popen('gzip -f', 'r+') do |i|
41
+ i.puts str
42
+ i.close_write
43
+ return i.read
44
+ end
45
+ rescue Errno::ENOENT
46
+ $stderr.puts '"gzip" command not found, it is required to produce the .gz version'
47
+ nil
48
+ end
@@ -0,0 +1 @@
1
+ require 'opal/bootbox'
@@ -0,0 +1,38 @@
1
+ module Opal
2
+ module Bootbox
3
+ module_function
4
+
5
+ def bootbox_call(method, *args, &block)
6
+ Native.call(`bootbox`, method, *args, &block)
7
+ end
8
+
9
+ # Creates an alert window.
10
+ # The given block is optional.
11
+ # No result is passed to the given block.
12
+ def alert(*args, &block)
13
+ bootbox_call(__method__, *args, &block)
14
+ end
15
+
16
+ # Creates a confirm window.
17
+ # The result passed to given block is true or false.
18
+ def confirm(*args, &block)
19
+ bootbox_call(__method__, *args, &block)
20
+ end
21
+
22
+ # Creates a prompt window.
23
+ # The result passed to given block is a String or nil.
24
+ def prompt(*args, &block)
25
+ bootbox_call(__method__, *args, &block)
26
+ end
27
+
28
+ end
29
+ end
30
+ $bootbox = Opal::Bootbox
31
+
32
+ if RUBY_ENGINE == 'opal'
33
+ else
34
+ require 'opal'
35
+ require 'opal/bootbox/version'
36
+ Opal.append_path File.expand_path('../..', __FILE__).untaint
37
+ end
38
+
@@ -0,0 +1,5 @@
1
+ module Opal
2
+ module Bootbox
3
+ VERSION = '0.1.0'
4
+ end
5
+ end
@@ -0,0 +1,20 @@
1
+ # -*- encoding: utf-8 -*-
2
+ require File.expand_path('../lib/opal/bootbox/version', __FILE__)
3
+
4
+ Gem::Specification.new do |spec|
5
+ spec.name = 'opal-bootbox'
6
+ spec.version = Opal::Bootbox::VERSION
7
+ spec.authors = [ 'Colin Gunn' ]
8
+ spec.email = [ 'colgunn@icloud.com' ]
9
+ spec.homepage = 'http://github.com/balmoral/opal-bootbox'
10
+ spec.summary = 'Opal Ruby wrapper for Bootbox Javascript library.'
11
+ spec.license = 'MIT'
12
+
13
+ spec.files = `git ls-files -z`.split("\x0")
14
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
15
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
16
+ spec.require_paths = ['lib']
17
+
18
+ spec.required_ruby_version = '>= 1.9.3'
19
+ spec.add_runtime_dependency 'opal', '>= 0.8.0', '< 0.9.0'
20
+ end
metadata ADDED
@@ -0,0 +1,73 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: opal-bootbox
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Colin Gunn
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-12-30 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: opal
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 0.8.0
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: 0.9.0
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: 0.8.0
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: 0.9.0
33
+ description:
34
+ email:
35
+ - colgunn@icloud.com
36
+ executables: []
37
+ extensions: []
38
+ extra_rdoc_files: []
39
+ files:
40
+ - LICENSE.txt
41
+ - README.md
42
+ - gemfile
43
+ - lib/Rakefile
44
+ - lib/opal-bootbox.rb
45
+ - lib/opal/bootbox.rb
46
+ - lib/opal/bootbox/version.rb
47
+ - opal-bootbox.gemspec
48
+ homepage: http://github.com/balmoral/opal-bootbox
49
+ licenses:
50
+ - MIT
51
+ metadata: {}
52
+ post_install_message:
53
+ rdoc_options: []
54
+ require_paths:
55
+ - lib
56
+ required_ruby_version: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: 1.9.3
61
+ required_rubygems_version: !ruby/object:Gem::Requirement
62
+ requirements:
63
+ - - ">="
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ requirements: []
67
+ rubyforge_project:
68
+ rubygems_version: 2.4.6
69
+ signing_key:
70
+ specification_version: 4
71
+ summary: Opal Ruby wrapper for Bootbox Javascript library.
72
+ test_files: []
73
+ has_rdoc: