Sha256: 8787287b68d6bcdb3af74699f308d48d11f16fc88b3e94ccc721d87f36936c3b

Contents?: true

Size: 1.47 KB

Versions: 2

Compression:

Stored size: 1.47 KB

Contents

# frozen_string_literal: true

module Playbook
  module PbPerson
    class Person < Playbook::PbKit::Base
      PROPS = %i[
        configured_classname
        configured_data
        configured_id
        configured_first_name
        configured_last_name
      ].freeze

      def initialize(
          classname: default_configuration,
          data: default_configuration,
          id: default_configuration,
          first_name: default_configuration,
          last_name: default_configuration
        )
        self.configured_classname = classname
        self.configured_data = data
        self.configured_id = id
        self.configured_first_name = first_name
        self.configured_last_name = last_name
      end

      def first_name
        pb_first_name = Playbook::PbBody::Body.new(tag: "span", classname: "pb_person_first") do
          default_value(configured_first_name, "")
        end
        ApplicationController.renderer.render(partial: pb_first_name, as: :object)
      end

      def last_name
        if is_set? configured_last_name
          pb_last_name = Playbook::PbTitle::Title.new(text: configured_last_name, size: 4)
          ApplicationController.renderer.render(partial: pb_last_name, as: :object)
        end
      end

      def to_partial_path
        "pb_person/person"
      end

    private

      DEFAULT = Object.new
      private_constant :DEFAULT
      def default_configuration
        DEFAULT
      end
      attr_accessor(*PROPS)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
playbook_ui-2.9.4 app/pb_kits/playbook/pb_person/person.rb
playbook_ui-2.9.3 app/pb_kits/playbook/pb_person/person.rb