Module: RBUI

Extended by:
Phlex::Kit
Defined in:
lib/generators/rbui/install/install_generator.rb,
lib/rbui.rb,
lib/rbui/base.rb,
lib/rbui/railtie.rb,
lib/rbui/version.rb,
lib/rbui/card/card.rb,
lib/rbui/form/form.rb,
lib/rbui/link/link.rb,
lib/rbui/tabs/tabs.rb,
lib/rbui/alert/alert.rb,
lib/rbui/badge/badge.rb,
lib/rbui/chart/chart.rb,
lib/rbui/input/input.rb,
lib/rbui/sheet/sheet.rb,
lib/rbui/table/table.rb,
lib/rbui/avatar/avatar.rb,
lib/rbui/button/button.rb,
lib/rbui/dialog/dialog.rb,
lib/rbui/select/select.rb,
lib/rbui/tabs/tabs_list.rb,
lib/rbui/card/card_title.rb,
lib/rbui/command/command.rb,
lib/rbui/form/form_field.rb,
lib/rbui/popover/popover.rb,
lib/rbui/table/table_row.rb,
lib/rbui/tooltip/tooltip.rb,
lib/rbui/card/card_footer.rb,
lib/rbui/card/card_header.rb,
lib/rbui/table/table_body.rb,
lib/rbui/table/table_cell.rb,
lib/rbui/table/table_head.rb,
lib/rbui/alert/alert_title.rb,
lib/rbui/calendar/calendar.rb,
lib/rbui/card/card_content.rb,
lib/rbui/checkbox/checkbox.rb,
lib/rbui/combobox/combobox.rb,
lib/rbui/sheet/sheet_title.rb,
lib/rbui/tabs/tabs_content.rb,
lib/rbui/tabs/tabs_trigger.rb,
lib/rbui/textarea/textarea.rb,
lib/rbui/select/select_item.rb,
lib/rbui/sheet/sheet_footer.rb,
lib/rbui/sheet/sheet_header.rb,
lib/rbui/sheet/sheet_middle.rb,
lib/rbui/table/table_footer.rb,
lib/rbui/table/table_header.rb,
lib/rbui/accordion/accordion.rb,
lib/rbui/avatar/avatar_image.rb,
lib/rbui/clipboard/clipboard.rb,
lib/rbui/codeblock/codeblock.rb,
lib/rbui/dialog/dialog_title.rb,
lib/rbui/select/select_group.rb,
lib/rbui/select/select_input.rb,
lib/rbui/select/select_label.rb,
lib/rbui/select/select_value.rb,
lib/rbui/sheet/sheet_content.rb,
lib/rbui/sheet/sheet_trigger.rb,
lib/rbui/table/table_caption.rb,
lib/rbui/command/command_item.rb,
lib/rbui/command/command_list.rb,
lib/rbui/dialog/dialog_footer.rb,
lib/rbui/dialog/dialog_header.rb,
lib/rbui/dialog/dialog_middle.rb,
lib/rbui/form/form_field_hint.rb,
lib/rbui/card/card_description.rb,
lib/rbui/command/command_empty.rb,
lib/rbui/command/command_group.rb,
lib/rbui/command/command_input.rb,
lib/rbui/dialog/dialog_content.rb,
lib/rbui/dialog/dialog_trigger.rb,
lib/rbui/form/form_field_error.rb,
lib/rbui/form/form_field_label.rb,
lib/rbui/hover_card/hover_card.rb,
lib/rbui/pagination/pagination.rb,
lib/rbui/select/select_content.rb,
lib/rbui/select/select_trigger.rb,
lib/rbui/avatar/avatar_fallback.rb,
lib/rbui/calendar/calendar_body.rb,
lib/rbui/calendar/calendar_days.rb,
lib/rbui/calendar/calendar_next.rb,
lib/rbui/calendar/calendar_prev.rb,
lib/rbui/combobox/combobox_item.rb,
lib/rbui/combobox/combobox_list.rb,
lib/rbui/command/command_dialog.rb,
lib/rbui/alert/alert_description.rb,
lib/rbui/calendar/calendar_title.rb,
lib/rbui/checkbox/checkbox_group.rb,
lib/rbui/collapsible/collapsible.rb,
lib/rbui/combobox/combobox_empty.rb,
lib/rbui/combobox/combobox_group.rb,
lib/rbui/combobox/combobox_input.rb,
lib/rbui/combobox/combobox_value.rb,
lib/rbui/popover/popover_content.rb,
lib/rbui/popover/popover_trigger.rb,
lib/rbui/sheet/sheet_description.rb,
lib/rbui/tooltip/tooltip_content.rb,
lib/rbui/tooltip/tooltip_trigger.rb,
lib/rbui/typography/typography_p.rb,
lib/rbui/accordion/accordion_icon.rb,
lib/rbui/accordion/accordion_item.rb,
lib/rbui/calendar/calendar_header.rb,
lib/rbui/typography/typography_h1.rb,
lib/rbui/typography/typography_h2.rb,
lib/rbui/typography/typography_h3.rb,
lib/rbui/typography/typography_h4.rb,
lib/generators/rbui/base_generator.rb,
lib/rbui/alert_dialog/alert_dialog.rb,
lib/rbui/aspect_ratio/aspect_ratio.rb,
lib/rbui/combobox/combobox_content.rb,
lib/rbui/combobox/combobox_trigger.rb,
lib/rbui/context_menu/context_menu.rb,
lib/rbui/dialog/dialog_description.rb,
lib/rbui/radio_button/radio_button.rb,
lib/rbui/shortcut_key/shortcut_key.rb,
lib/rbui/theme_toggle/theme_toggle.rb,
lib/rbui/calendar/calendar_weekdays.rb,
lib/rbui/clipboard/clipboard_source.rb,
lib/rbui/pagination/pagination_item.rb,
lib/rbui/typography/typography_lead.rb,
lib/rbui/typography/typography_list.rb,
lib/rbui/accordion/accordion_content.rb,
lib/rbui/accordion/accordion_trigger.rb,
lib/rbui/clipboard/clipboard_popover.rb,
lib/rbui/clipboard/clipboard_trigger.rb,
lib/rbui/combobox/combobox_separator.rb,
lib/rbui/dropdown_menu/dropdown_menu.rb,
lib/rbui/typography/typography_large.rb,
lib/rbui/typography/typography_muted.rb,
lib/rbui/typography/typography_small.rb,
lib/rbui/hover_card/hover_card_content.rb,
lib/rbui/hover_card/hover_card_trigger.rb,
lib/rbui/pagination/pagination_content.rb,
lib/generators/rbui/component_generator.rb,
lib/rbui/combobox/combobox_search_input.rb,
lib/rbui/command/command_dialog_content.rb,
lib/rbui/command/command_dialog_trigger.rb,
lib/rbui/context_menu/context_menu_item.rb,
lib/rbui/pagination/pagination_ellipsis.rb,
lib/rbui/alert_dialog/alert_dialog_title.rb,
lib/rbui/collapsible/collapsible_content.rb,
lib/rbui/collapsible/collapsible_trigger.rb,
lib/rbui/context_menu/context_menu_label.rb,
lib/rbui/typography/typography_list_item.rb,
lib/rbui/alert_dialog/alert_dialog_action.rb,
lib/rbui/alert_dialog/alert_dialog_cancel.rb,
lib/rbui/alert_dialog/alert_dialog_footer.rb,
lib/rbui/alert_dialog/alert_dialog_header.rb,
lib/rbui/dropdown_menu/dropdown_menu_item.rb,
lib/rbui/typography/typography_blockquote.rb,
lib/rbui/alert_dialog/alert_dialog_content.rb,
lib/rbui/alert_dialog/alert_dialog_trigger.rb,
lib/rbui/context_menu/context_menu_content.rb,
lib/rbui/context_menu/context_menu_trigger.rb,
lib/rbui/dropdown_menu/dropdown_menu_label.rb,
lib/rbui/typography/typography_inline_code.rb,
lib/rbui/typography/typography_inline_link.rb,
lib/rbui/accordion/accordion_default_content.rb,
lib/rbui/accordion/accordion_default_trigger.rb,
lib/rbui/context_menu/context_menu_separator.rb,
lib/rbui/dropdown_menu/dropdown_menu_content.rb,
lib/rbui/dropdown_menu/dropdown_menu_trigger.rb,
lib/rbui/alert_dialog/alert_dialog_description.rb,
lib/rbui/dropdown_menu/dropdown_menu_separator.rb

Overview

TODO: make ejctectec components work without the gem

Defined Under Namespace

Modules: Generators Classes: Accordion, AccordionContent, AccordionDefaultContent, AccordionDefaultTrigger, AccordionIcon, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AspectRatio, Avatar, AvatarFallback, AvatarImage, Badge, Base, Button, Calendar, CalendarBody, CalendarDays, CalendarHeader, CalendarNext, CalendarPrev, CalendarTitle, CalendarWeekdays, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Chart, Checkbox, CheckboxGroup, Clipboard, ClipboardPopover, ClipboardSource, ClipboardTrigger, Codeblock, Collapsible, CollapsibleContent, CollapsibleTrigger, Combobox, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxList, ComboboxSearchInput, ComboboxSeparator, ComboboxTrigger, ComboboxValue, Command, CommandDialog, CommandDialogContent, CommandDialogTrigger, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, ContextMenu, ContextMenuContent, ContextMenuItem, ContextMenuLabel, ContextMenuSeparator, ContextMenuTrigger, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogMiddle, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, Form, FormField, FormFieldError, FormFieldHint, FormFieldLabel, HoverCard, HoverCardContent, HoverCardTrigger, Input, Link, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, Popover, PopoverContent, PopoverTrigger, RadioButton, Railtie, Select, SelectContent, SelectGroup, SelectInput, SelectItem, SelectLabel, SelectTrigger, SelectValue, Sheet, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetMiddle, SheetTitle, SheetTrigger, ShortcutKey, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, ThemeToggle, Tooltip, TooltipContent, TooltipTrigger, TypographyBlockquote, TypographyH1, TypographyH2, TypographyH3, TypographyH4, TypographyInlineCode, TypographyInlineLink, TypographyLarge, TypographyLead, TypographyList, TypographyListItem, TypographyMuted, TypographyP, TypographySmall

Constant Summary collapse

VERSION =
"1.0.0-alpha.4"

Class Method Summary collapse

Class Method Details

.create_namespace_moduleObject



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/rbui.rb', line 14

def self.create_namespace_module
  source_module = self
  mod = namespace.to_s.split("::").inject(Object) do |parent, const|
    parent.const_get(const)
  rescue
    parent.const_set(const, Module.new)
  end

  mod.singleton_class.class_eval do
    define_method :const_missing do |name|
      source_module.const_defined?(name) ? source_module.const_get(name) : super(name)
    end

    define_method :method_missing do |name, *args, &block|
      source_module.respond_to?(name) ? source_module.send(name, *args, &block) : super(name, *args, &block)
    end

    define_method :respond_to_missing? do |name, include_private = false|
      source_module.respond_to?(name) || super(name, include_private)
    end
  end
end

.namespaceObject



37
38
39
# File 'lib/rbui.rb', line 37

def self.namespace
  @namespace ||= nil
end

.namespace=(value) ⇒ Object



41
42
43
# File 'lib/rbui.rb', line 41

def self.namespace=(value)
  @namespace = value
end

.setup {|_self| ... } ⇒ Object

Yields:

  • (_self)

Yield Parameters:

  • _self (RBUI)

    the object that the method was called on



9
10
11
12
# File 'lib/rbui.rb', line 9

def self.setup
  yield self
  create_namespace_module if namespace
end