Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/adambeynon/opal-dom
Simple DOM for Opal (legacy?)
https://github.com/adambeynon/opal-dom
Last synced: 2 months ago
JSON representation
Simple DOM for Opal (legacy?)
- Host: GitHub
- URL: https://github.com/adambeynon/opal-dom
- Owner: adambeynon
- Created: 2013-04-09T17:44:38.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2013-04-09T17:45:11.000Z (almost 12 years ago)
- Last Synced: 2024-08-01T23:40:44.643Z (5 months ago)
- Language: Ruby
- Size: 246 KB
- Stars: 2
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-opal - Opal Dom - Simple DOM for Opal (legacy?) (Uncategorized / Uncategorized)
README
opal-dom: DOM library for Opal
===================================opal-dom is a dom library for opal to be used in the browser.
## Usage
Add to your Gemfile:
```ruby
# Gemfile
gem "opal-dom"
```Add to opal builder task:
```ruby
# Rakefile
Opal::RakeTask.new do |t|
t.dependencies = ['opal-dom']
end
```Finally, require it in your opal app:
```ruby
# app.rb
require 'opal-dom'Document.ready? do
alert "document is ready!"
end
```## HTTP
The `HTTP` class is a wrapper around the native browser
`XMLHttpRequest`.Usage example:
```ruby
HTTP.get("api/users/1") do |res|
alert res.body
end
```The response can be easily parsed from json using the `json`
convenience method.```ruby
HTTP.get("api/users/1.json") do |res|
puts res.json
end# => {"name" => "Adam Beynon", "age" => 26, ...}
```POST requests work the same:
```ruby
HTTP.post("api/users") do |res|
puts res.ok?
end
```Data can be added into the options hash:
```ruby
HTTP.get("api/find", data: { id: 10}) do |res|
# ...
end
```## Running specs
Clone repo:
```
git clone git://github.com/adambeynon/opal-dom.git
```Get gems:
```
bundle install
```Build opal-spec, opal-dom and the actual specs:
```
rake opal
```Open `spec/index.html` in the browser.
## License
Released under the MIT license