burgundy 0.6.0 → 1.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0f8fdc62f55871b2606a2e02a6be0395a47aea4e24ca409218e400a2beb08486
4
- data.tar.gz: 53ffaba2770d98e1eb1d905374a682d85bf8c5fd763a3a0825132b3fd5adf40e
3
+ metadata.gz: 7991ba9de32d726889e787fd2bfcd365983b6ab346d091cb1ee9c606f4eff75d
4
+ data.tar.gz: 798a170bff1bd32c6e6e7e6658c445b51b67bda9bdaa9329f077847e03fdd42b
5
5
  SHA512:
6
- metadata.gz: 984b3757ea46e6970fdbb39f6b832b3b1fc964cdaf78a302a373c80cf53075cb9ac021abce5ebc2ae4ce6294f97457bad5cf316e98a5d5dbd3bc216a967b9fac
7
- data.tar.gz: 869c013191f45f00a7c6ca3fec9deba62f8456ef83bdb1d9054739a336fbd515af8d59b24ad0544e1b0ef31fe5df817b516dc9450977b9b1933552ed7fb7d96e
6
+ metadata.gz: bcdcec01f1328b57ec4a86a2a703fbb28acea653b8c4a3f8e77b92a8d2b0a988d823906e7201128c97b99c85e0b3b22d071739a2c329c50db2904c9cd47eecfa
7
+ data.tar.gz: cfb6f54d2c96acb6c1fdf7a490835327581c1b3cb7d77d75d677f7b4293693931f64c08df887b1a01448175a7df98ab94488d133c9095d4fed47e46f1a96f1a6
@@ -12,11 +12,6 @@ module Burgundy
12
12
  Collection.new(collection, self, *args)
13
13
  end
14
14
 
15
- def self.map(collection)
16
- warn "Burgundy::Item.map is deprecated; use Burgundy::Item.wrap instead."
17
- wrap(collection)
18
- end
19
-
20
15
  def self.attributes(*args)
21
16
  @attributes ||= {}
22
17
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Burgundy
4
- VERSION = "0.6.0"
4
+ VERSION = "1.0.0"
5
5
  end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ class UsersController < ApplicationController
4
+ def index
5
+ presenter = Class.new(Burgundy::Item) do
6
+ def to_partial_path
7
+ "users/profile"
8
+ end
9
+ end
10
+
11
+ @users = presenter.wrap([
12
+ OpenStruct.new(name: "John"),
13
+ OpenStruct.new(name: "Mary")
14
+ ])
15
+ end
16
+ end
@@ -1,7 +1,7 @@
1
1
  <!DOCTYPE html>
2
2
  <html>
3
3
  <head>
4
- <title><%= page_title %></title>
4
+ <title>Burgundy</title>
5
5
  <%= stylesheet_link_tag "application", media: "all", "data-turbolinks-track" => true %>
6
6
  <%= javascript_include_tag "application", "data-turbolinks-track" => true %>
7
7
  <%= csrf_meta_tags %>
@@ -0,0 +1 @@
1
+ <h1><%= profile.name %></h1>
@@ -0,0 +1 @@
1
+ <%= render @users, as: :profile %>
@@ -4,6 +4,7 @@ require File.expand_path("boot", __dir__)
4
4
 
5
5
  require "action_controller/railtie"
6
6
  require "action_mailer/railtie"
7
+ require "active_model/railtie"
7
8
 
8
9
  Bundler.require(*Rails.groups)
9
10
  require "burgundy"
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  Dummy::Application.routes.draw do
4
- get ":username", to: "application#users", as: "profile"
4
+ get "users", to: "users#index"
5
+ get ":username", to: "users#show", as: "profile"
5
6
  end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "test_helper"
4
+
5
+ class BurgundyTest < Minitest::Test
6
+ include Rack::Test::Methods
7
+
8
+ def app
9
+ Rails.application
10
+ end
11
+
12
+ test "renders collection with custom partial path" do
13
+ get "/users"
14
+ html = Nokogiri(last_response.body)
15
+ h1s = html.css("h1")
16
+
17
+ assert_equal 2, h1s.size
18
+ assert_equal "John", h1s[0].text
19
+ assert_equal "Mary", h1s[1].text
20
+ end
21
+
22
+ test "wrapped object is the same as the unwrapped object" do
23
+ model = Class.new do
24
+ include ActiveModel::Model
25
+ attr_accessor :name
26
+ end
27
+
28
+ presenter = Class.new(Burgundy::Item)
29
+ instance = model.new(name: "John")
30
+
31
+ assert presenter.new(instance).eql?(instance)
32
+ end
33
+ end
@@ -59,17 +59,6 @@ class BurgundyTest < Minitest::Test
59
59
  assert_equal [2, 3], items.first.args
60
60
  end
61
61
 
62
- test "deprecates Burgundy::Item.map" do
63
- message =
64
- "Burgundy::Item.map is deprecated; use Burgundy::Item.wrap instead."
65
-
66
- _, err = capture_io do
67
- wrapper.map([1, 2, 3])
68
- end
69
-
70
- assert err.include?(message)
71
- end
72
-
73
62
  test "wraps items in collection" do
74
63
  collection = Burgundy::Collection.new([1, 2, 3], wrapper)
75
64
  assert_equal 1, collection.first
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: burgundy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nando Vieira
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-02-08 00:00:00.000000000 Z
11
+ date: 2020-02-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -152,12 +152,14 @@ files:
152
152
  - test/dummy/app/assets/stylesheets/application.css
153
153
  - test/dummy/app/controllers/application_controller.rb
154
154
  - test/dummy/app/controllers/concerns/.keep
155
+ - test/dummy/app/controllers/users_controller.rb
155
156
  - test/dummy/app/helpers/application_helper.rb
156
157
  - test/dummy/app/mailers/.keep
157
158
  - test/dummy/app/models/.keep
158
159
  - test/dummy/app/models/concerns/.keep
159
160
  - test/dummy/app/views/layouts/application.html.erb
160
- - test/dummy/app/views/site/contact.html.erb
161
+ - test/dummy/app/views/users/_profile.html.erb
162
+ - test/dummy/app/views/users/index.html.erb
161
163
  - test/dummy/bin/bundle
162
164
  - test/dummy/bin/rails
163
165
  - test/dummy/bin/rake
@@ -184,6 +186,7 @@ files:
184
186
  - test/dummy/public/422.html
185
187
  - test/dummy/public/500.html
186
188
  - test/dummy/public/favicon.ico
189
+ - test/integration/burgundy_test.rb
187
190
  - test/test_helper.rb
188
191
  - test/unit/burgundy_test.rb
189
192
  homepage: http://github.com/fnando/burgundy
@@ -217,12 +220,14 @@ test_files:
217
220
  - test/dummy/app/assets/stylesheets/application.css
218
221
  - test/dummy/app/controllers/application_controller.rb
219
222
  - test/dummy/app/controllers/concerns/.keep
223
+ - test/dummy/app/controllers/users_controller.rb
220
224
  - test/dummy/app/helpers/application_helper.rb
221
225
  - test/dummy/app/mailers/.keep
222
226
  - test/dummy/app/models/.keep
223
227
  - test/dummy/app/models/concerns/.keep
224
228
  - test/dummy/app/views/layouts/application.html.erb
225
- - test/dummy/app/views/site/contact.html.erb
229
+ - test/dummy/app/views/users/_profile.html.erb
230
+ - test/dummy/app/views/users/index.html.erb
226
231
  - test/dummy/bin/bundle
227
232
  - test/dummy/bin/rails
228
233
  - test/dummy/bin/rake
@@ -249,5 +254,6 @@ test_files:
249
254
  - test/dummy/public/422.html
250
255
  - test/dummy/public/500.html
251
256
  - test/dummy/public/favicon.ico
257
+ - test/integration/burgundy_test.rb
252
258
  - test/test_helper.rb
253
259
  - test/unit/burgundy_test.rb